/Laravel-Simple-Application

Данный репозиторий содержит проект на Laravel. В качестве Backend используется API, frontend часть приложения построена на Vue.js

Primary LanguagePHP

Описание

В данном проекте раелизована небольшая система, включающая в себя админ-панель и API. Аутентификация в админ-панели реализована с использованием сессии, а в API - с использованием токенов. Админ-панель построена на Vue.js и является SPA.

Установка

Склонируйте проект https://github.com/evster-coder/Laravel-Simple-Application.git

В папке проекта выполните команду для установки пакетов Composer:
composer install

Установите зависимости через npm и скомпилируйте frontend-часть
npm install&&npm run dev

Создайте базу данных MySQL и внесите данные для подключения к ней в .env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=yourDataBase
DB_USERNAME=yourCredentials
DB_PASSWORD=yourCredentials

Выполните миграции баз данных и сгенерируйте admin-пользователя для системы
php artisan migrate
php artisan db:seed

Запустите сервер приложения
php artisan serve

Для доступа к админке имеются следующие данные:
Логин:admin
Пароль: admin

Маршруты REST API

Для получения доступа к некоторым маршрутам по API предварительно нужно авторизоваться в системе

POST /api/login - авторизация в системе. В качестве параметров нужно указать username и password. В случае успеха в качестве ответа пользователь получит данные авторизованного пользователя, а также token, который нужно будет указывать для аутентификации в дальнейшем
POST /api/logout - выход из системы. В заголовке необходимо передать Bearer Token, который был получен при авторизации. В случае успеха пользователь получит сообщение об этом, токены будут удалены из базы.
GET /api/books - получение списка книг с именем автора. Авторизация не обязательна.
GET /api/books/{id} получение данных книги по id. Авторизация не обязательна.
PUT /api/books/{id} - обновление данных книги Необходима авторизация под автором книги. В заголовке необходимо передать token.
DELETE /api/books/{id} - удаление книги Необходима авторизация под автором книги. В заголовке необходимо передать token.
GET /api/authors - получение списка авторов с указанием количества книг Авторизация не обязательна
GET /api/authors/{id} - получение данных автора со списком книг Авторизация не обязательна
PUT /api/authors/{id} - обновление данных автора Авторизация под автором обязательна, можно редактировать только свои данные. В заголовке указывается token.

Кроме того, с префиксом admin имеются маршруты, которые необходимы для отправки данных на frontend.