Это полноценный стартовый шаблон (boilerplate) для full-stack приложения, построенного на современном стеке: Vue 3 для фронтенда и FastAPI для бэкенда. Проект обернут в Docker для легкого развертывания и разработки.
- 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 приложений
- 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.
-
Клонируйте репозиторий:
git clone https://your-repository-url.git cd your-project-name -
Создайте файл окружения: Скопируйте пример файла
.env.sampleв новый файл.env.cp .env.sample .env
Для разработки стандартные значения подходят. Для продакшена обязательно смените
SECRET_KEY. -
Соберите и запустите контейнеры: Эта команда скачает образы, установит все зависимости, запустит базу данных, применит миграции и поднимет серверы для фронтенда и бэкенда.
docker-compose up --build
Флаг
--buildнужен при первом запуске и после внесения изменений вDockerfileилиrequirements.txt/package.json. -
Готово! Приложение доступно:
- Фронтенд: http://localhost:5173 (для разработки с HMR)
- Бэкенд API: http://localhost:8000
- Документация API (Swagger UI): http://localhost:8000/docs
- База данных PostgreSQL:
localhost:5432(доступна для подключения извне, если нужно)
Чтобы остановить все сервисы, нажмите Ctrl+C в терминале и выполните:
docker-compose down