Thanks to visit codestin.com
Credit goes to github.com

Skip to content

IvanZhutyaev/MicroLearn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MicroLearn - Платформа микро-обучения

Fullstack платформа для создания и прохождения образовательных курсов с системой мотивации и отслеживания прогресса.

Технологический стек

Frontend

  • Next.js 14+ с TypeScript
  • Tailwind CSS
  • Redux Toolkit
  • React Query
  • Framer Motion

Backend

  • NestJS с TypeScript
  • PostgreSQL + Prisma ORM
  • Redis (для кэширования)
  • JWT аутентификация
  • Stripe для платежей

Установка и запуск

Предварительные требования

  • Node.js 18+
  • Docker и Docker Compose
  • PostgreSQL (или используйте Docker)
  • Redis (или используйте Docker)

Быстрый старт с Docker

  1. Клонируйте репозиторий:
git clone <repository-url>
cd MicroLearn
  1. Настройте переменные окружения:
# Backend
cp backend/.env.example backend/.env
# Отредактируйте backend/.env с вашими настройками

# Frontend
cp frontend/.env.example frontend/.env.local
# Отредактируйте frontend/.env.local
  1. Запустите с Docker Compose:
docker-compose up -d

Ручная установка

Backend

cd backend
npm install
npx prisma generate
npx prisma migrate dev
npm run start:dev

Frontend

cd frontend
npm install
npm run dev

Структура проекта

MicroLearn/
├── 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 конфигурация

API Endpoints

Аутентификация

  • POST /api/auth/register - Регистрация
  • POST /api/auth/login - Вход
  • POST /api/auth/verify-email - Подтверждение email
  • POST /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

Деплой

Backend (Railway/Render)

  1. Подключите репозиторий
  2. Настройте переменные окружения
  3. Запустите миграции: npx prisma migrate deploy

Frontend (Vercel)

  1. Подключите репозиторий
  2. Настройте переменные окружения
  3. Деплой автоматический

Лицензия

Этот проект распространяется под MicroLearn View-Only License - кастомной лицензией, которая разрешает только просмотр и изучение кода в образовательных целях.

Основные положения лицензии:

Разрешено:

  • Просмотр и изучение исходного кода
  • Использование для обучения и академических исследований
  • Понимание архитектурных паттернов и техник программирования

Запрещено:

  • Копирование или воспроизведение кода (полностью или частично)
  • Создание производных работ или модификаций
  • Реализация схожих или существенно похожих решений
  • Коммерческое использование
  • Распространение кода третьим лицам
  • Использование в production-окружении

Полный текст лицензии

Полный текст лицензии доступен в файле LICENSE.

Важно: Просматривая, получая доступ или используя любую часть этого репозитория, вы подтверждаете, что прочитали, поняли и согласны соблюдать условия данной лицензии. Если вы не согласны с этими условиями, вы должны немедленно прекратить просмотр и использование кода.

Автор

Жутяев Иван

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages