Fullstack платформа для создания и прохождения образовательных курсов с системой мотивации и отслеживания прогресса.
- Next.js 14+ с TypeScript
- Tailwind CSS
- Redux Toolkit
- React Query
- Framer Motion
- NestJS с TypeScript
- PostgreSQL + Prisma ORM
- Redis (для кэширования)
- JWT аутентификация
- Stripe для платежей
- Node.js 18+
- Docker и Docker Compose
- PostgreSQL (или используйте Docker)
- Redis (или используйте Docker)
- Клонируйте репозиторий:
git clone <repository-url>
cd MicroLearn- Настройте переменные окружения:
# Backend
cp backend/.env.example backend/.env
# Отредактируйте backend/.env с вашими настройками
# Frontend
cp frontend/.env.example frontend/.env.local
# Отредактируйте frontend/.env.local- Запустите с Docker Compose:
docker-compose up -dcd backend
npm install
npx prisma generate
npx prisma migrate dev
npm run start:devcd frontend
npm install
npm run devMicroLearn/
├── backend/ # NestJS приложение
│ ├── src/
│ │ ├── auth/ # Модуль аутентификации
│ │ ├── users/ # Модуль пользователей
│ │ ├── courses/ # Модуль курсов
│ │ ├── progress/ # Модуль прогресса
│ │ ├── achievements/# Модуль достижений
│ │ └── payments/ # Модуль платежей
│ └── prisma/ # Prisma схема
├── frontend/ # Next.js приложение
│ ├── src/
│ │ ├── app/ # Страницы Next.js
│ │ ├── components/ # React компоненты
│ │ ├── lib/ # Утилиты и API
│ │ └── store/ # Redux store
└── docker-compose.yml # Docker конфигурация
POST /api/auth/register- РегистрацияPOST /api/auth/login- ВходPOST /api/auth/verify-email- Подтверждение emailPOST /api/auth/refresh- Обновление токена
GET /api/courses- Список курсовGET /api/courses/:id- Детали курсаPOST /api/courses- Создание курса (teacher)PUT /api/courses/:id- Обновление курсаDELETE /api/courses/:id- Удаление курсаPOST /api/courses/:id/publish- Публикация курса
GET /api/progress/courses/:id- Прогресс по курсуPOST /api/progress/lessons/:id- Отметить урок пройденнымPUT /api/progress/lessons/:id- Обновить прогресс урокаGET /api/progress/statistics- Общая статистика
POST /api/payments/create-intent- Создать платежное намерениеPOST /api/payments/confirm- Подтвердить платежGET /api/payments/history- История платежейPOST /api/payments/refund/:id- Запрос возврата
- ✅ Регистрация и авторизация с JWT
- ✅ Подтверждение email
- ✅ CRUD операции для курсов
- ✅ Структура курса (модули, уроки, контент)
- ✅ Отслеживание прогресса обучения
- ✅ Система достижений
- ✅ Интеграция Stripe для платежей
- ✅ Поиск и фильтрация курсов
- ⏳ OAuth2 (Google/GitHub)
- ⏳ Загрузка файлов на AWS S3
- ⏳ Система рейтингов
- ⏳ Ежедневные задания
- ⏳ Лидерборды
# Backend тесты
cd backend
npm run test
# E2E тесты
npm run test:e2e- Подключите репозиторий
- Настройте переменные окружения
- Запустите миграции:
npx prisma migrate deploy
- Подключите репозиторий
- Настройте переменные окружения
- Деплой автоматический
Этот проект распространяется под MicroLearn View-Only License - кастомной лицензией, которая разрешает только просмотр и изучение кода в образовательных целях.
✅ Разрешено:
- Просмотр и изучение исходного кода
- Использование для обучения и академических исследований
- Понимание архитектурных паттернов и техник программирования
❌ Запрещено:
- Копирование или воспроизведение кода (полностью или частично)
- Создание производных работ или модификаций
- Реализация схожих или существенно похожих решений
- Коммерческое использование
- Распространение кода третьим лицам
- Использование в production-окружении
Полный текст лицензии доступен в файле LICENSE.
Важно: Просматривая, получая доступ или используя любую часть этого репозитория, вы подтверждаете, что прочитали, поняли и согласны соблюдать условия данной лицензии. Если вы не согласны с этими условиями, вы должны немедленно прекратить просмотр и использование кода.
Жутяев Иван