Skip to content

База

Andrew Yurik edited this page Aug 12, 2025 · 8 revisions

Основа архитектуры приложения

Приложение, которым вдохновляюсь - aithor.com

Frontend

  • Next.js (TypeScript)
  • React.js (TypeScript)
  • React Query: для кеширования запросов и синхронизации данных с API
  • Zustand: управление состоянием UI
  • TailwindCSS
  • ui.shadcn - шаблонные блоки
  • motion.dev - анимации

Юнит-тесты для React (Jest + React Testing Library)

Генерация типов TypeScript из OpenAPI (например, с помощью openapi-typescript), чтобы фронтенд и бэкенд были типобезопасными и синхронизированными

Линтер - ESLint

Для обмена данными с Backend:

  • Fetch: для REST-запросов к API
  • EventSource: для SSE

Backend

  • FastAPI(python)
  • PostgreSQL
  • OAuth-провайдеры: Google

Деплой

  • GitHub Actions при пуше
  • Упаковать в Докер и на VPS

Безопасность

  1. CORS настройки на сервере
  2. Защита от CSRF (если используешь куки)
  3. Rate limiting и защита от DDoS
  4. Защиту JWT
  5. HTTPS - сертификат Lets Encrypt получить или похожий

Оптимизации

Кэширование на уровне API и на фронте (ISR/SSR/SSG в Next.js)


Подписки и мониторинг:

  • ЮМАНИ на ИП или самозанятого
  • Яндекс аналитика

Дополнительные материалы для вдохновения:

https://github.com/vercel/ai-chatbot https://github.com/NextJSTemplates/openai-nextjs-starter