Giter Site home page Giter Site logo

laravel10_event-managment's Introduction

Event management system (api)


Демонстрация реализации API, авторизации в API через токены, запуск обработки событий через очереди обработки сообщений, валидации Request запросов.

Стек:

  • 🐘 Php 8.2 + Laravel 10 (авторизация на базе API токенов)
  • 🌌 Swagger - для документации API + Swagger UI
  • 🦖 MariaDb
  • 🐳 Docker (Docker compose) + Laravel Sail
  • ⛑ Phpunit - тестирование.

Настройка проекта и подготовка к старту docker

Настроить переменные окружения (если требуется изменить их):

cp .env.example .env

⚠ Если на машине разработчика установлен php и composer то можно выполнить команду:

composer install --ignore-platform-reqs

⚠ Если не установлен php и composer на машине разработчика то установить зависимости проекта можно так:

docker run --rm -u "$(id -u):$(id -g)" \
    -v $(pwd):/var/www/html \
    -w /var/www/html \
    laravelsail/php82-composer:latest \
    composer install --ignore-platform-reqs

на этом подготовка к работе с Laravel Sail закончена.

Запуск проекта

Поднять docker контейнеры с помощью Laravel Sail

./vendor/bin/sail up -d
  1. Сгенерировать application key
./vendor/bin/sail artisan key:generate
  1. Выполнить миграции и заполнить таблицы тестовыми данными
./vendor/bin/sail artisan migrate --seed
  1. Запустить воркер (worker) обрабатывающий задачи из очереди сообщений
./vendor/bin/sail artisan queue:work --queue=default,user-notify
  1. Для демонстрации работы команд выполняемых через cron можно запустить команду в локальной среде разработки
./vendor/bin/sail artisan schedule:test --name=app:send-event-reminders

Доступные сайты в dev окружении

Host Назначение
http://localhost/api API приложения
http://localhost/api/documentation Swagger UI - документация к API формата Swagger 3.0
http://localhost:8025 Mailpit - вэб интерфейс для отладки отправки email сообщения

laravel10_event-managment's People

Contributors

agdobrynin avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.