Skip to content

3iM0ViY/dnd-session-planner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dnd-session-planner

Сайт планування сесій настільно рольових ігор (Dungeons & Dragons, Pathfinder тощо) для виконання ТЗ Join.To.IT

Опис застосунку

🧭 Про проєкт та принцип роботи

Цей застосунок є вебплатформою для планування рольових ігор на кшталт Dungeons & Dragons (DnD). Він поєднує класичний інтерфейс вебсайту з REST API, що дозволяє працювати як через браузер, так і через зовнішні застосунки чи Postman.

🔹 Основна логіка

  1. Реєстрація користувача: Нові користувачі можуть створювати акаунти через вебформу або API-запит. Авторизація виконується за допомогою JWT-токенів.

  2. Створення подій (івентів): Зареєстрований користувач може створити подію, описавши світ, сетинг, ігрову систему, дату, кількість гравців, локацію чи формат проведення ігрової сесії. Користувач автоматично стає організатором (Ігровим майстром) цієї події.

  3. Перегляд і фільтрація: На головній сторінці або через API можна переглядати всі майбутні події, а також фільтрувати їх за ігровою системою (DnD5e, Pathfinder, Avatar Legends тощо).

  4. Реєстрація на подію: Гравці можуть надсилати запити аби взяти участь у події. Організатор переглядає їх і схвалює або відхиляє. Після схвалення гравець запам'ятовується як учасник.

  5. Редагування та видалення: Організатор має повний контроль над власними подіями — може змінювати або видаляти їх як через вебінтерфейс, так і через API.

  6. API-документація: Усі запити та відповіді зручно переглядати у Swagger-інтерфейсі за адресою /api/docs/swagger/.


image image image image

Запуск проєкту через Docker

  1. Через термінал перейдіть у директорію проєкту, куди завантажили цей репозиторій:
cd C:\...\dnd-session-planner
  1. Згенеруйте файл .env з секретним ключем Django. Це потрібно зробити перед збіркою Docker:
python -c "from django.core.management.utils import get_random_secret_key; print('SECRET_KEY=' + get_random_secret_key())" > backend/.env

Файл .env буде створений у папці backend/ і міститиме змінну SECRET_KEY, необхідну для запуску Django.

  1. Запустіть Docker Compose для збірки та запуску контейнера:
docker compose up --build
  1. Після цього Django сервер буде доступний за адресою:
http://127.0.0.1:8000

About

Сайт планування сесій настільно рольових ігор (Dungeons & Dragons, Pathfinder тощо) для виконання ТЗ Join.To.IT

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors