Skip to content

Приложение для проведения спортивных соревнований в Сириусе

Notifications You must be signed in to change notification settings

rsul07/SiriusGame

Repository files navigation

Full-Stack Monorepo: Vue 3 + FastAPI

Это полноценный стартовый шаблон (boilerplate) для full-stack приложения, построенного на современном стеке: Vue 3 для фронтенда и FastAPI для бэкенда. Проект обернут в Docker для легкого развертывания и разработки.

🚀 Основные технологии

Frontend (/frontend)

  • Framework: Vue 3 с Composition API и <script setup>
  • Сборщик: Vite — сверхбыстрая сборка и Hot Module Replacement (HMR)
  • Язык: TypeScript
  • Роутинг: Vue Router 4
  • State Management: Pinia
  • Стилизация: TailwindCSS с JIT-компилятором и кастомной темой
  • UI/UX: Mobile-first, адаптивный дизайн
  • Тестирование: Vitest + Vue Testing Library
  • Качество кода: ESLint, Prettier, Husky (для pre-commit хуков)
  • Мобильная сборка: Capacitor для создания нативных Android/iOS приложений

Backend (/backend)

  • Framework: FastAPI
  • Язык: Python 3.11+
  • База данных: PostgreSQL
  • ORM: SQLAlchemy 2.0 (асинхронный подход с asyncpg)
  • Миграции: Alembic
  • Аутентификация: Собственная реализация на основе JWT (JSON Web Tokens)
  • Валидация: Pydantic

Инфраструктура (/)

  • Контейнеризация: Docker и Docker Compose
  • Веб-сервер (Frontend): Nginx (внутри Docker-контейнера)
  • WSGI-сервер (Backend): Uvicorn

✨ Ключевые фичи

  • Monorepo: Фронтенд и бэкенд находятся в одном репозитории, но изолированы в своих папках.
  • Docker-first: Весь проект запускается одной командой docker-compose up.
  • Готовая аутентификация: Регистрация, логин (с 2FA), JWT-токены.
  • Адаптивный UI: Отлично выглядит как на мобильных устройствах, так и на десктопе.
  • Продуманная структура: Четкое разделение на компоненты, страницы, сторы и сервисы.
  • Готовые рабочие процессы: Настроенные линтеры, форматтеры и pre-commit хуки для поддержания высокого качества кода.

🏁 Быстрый старт

Для запуска проекта вам понадобится установленный Docker и Docker Compose.

  1. Клонируйте репозиторий:

    git clone https://your-repository-url.git
    cd your-project-name
  2. Создайте файл окружения: Скопируйте пример файла .env.sample в новый файл .env.

    cp .env.sample .env

    Для разработки стандартные значения подходят. Для продакшена обязательно смените SECRET_KEY.

  3. Соберите и запустите контейнеры: Эта команда скачает образы, установит все зависимости, запустит базу данных, применит миграции и поднимет серверы для фронтенда и бэкенда.

    docker-compose up --build

    Флаг --build нужен при первом запуске и после внесения изменений в Dockerfile или requirements.txt/package.json.

  4. Готово! Приложение доступно:

Чтобы остановить все сервисы, нажмите Ctrl+C в терминале и выполните:

docker-compose down

About

Приложение для проведения спортивных соревнований в Сириусе

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 3

  •  
  •  
  •