https://github.com/mindlessmuse666/university-platform
Современная университетская платформа для управления учебным процессом
https://github.com/mindlessmuse666/university-platform
api course-platform fullstack nestjs nextjs prisma react tailwindcss typescript web
Last synced: 3 months ago
JSON representation
Современная университетская платформа для управления учебным процессом
- Host: GitHub
- URL: https://github.com/mindlessmuse666/university-platform
- Owner: MindlessMuse666
- License: mit
- Created: 2025-05-21T13:40:30.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-21T14:15:24.000Z (about 1 year ago)
- Last Synced: 2025-05-21T14:57:30.158Z (about 1 year ago)
- Topics: api, course-platform, fullstack, nestjs, nextjs, prisma, react, tailwindcss, typescript, web
- Language: TypeScript
- Homepage:
- Size: 336 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# University Platform
Современная университетская платформа для управления учебным процессом, разработанная с использованием актуального стека технологий. Платформа предоставляет удобный интерфейс для студентов и преподавателей, позволяя эффективно управлять курсами, материалами и процессом обучения.
## 🚀 Технологии
### Backend
- [NestJS](https://nestjs.com/) - Прогрессивный Node.js фреймворк для создания масштабируемых серверных приложений
- [PostgreSQL](https://www.postgresql.org/) - Надежная реляционная база данных
- [Prisma](https://www.prisma.io/) - Современный ORM с типобезопасностью
- [JWT](https://jwt.io/) - Безопасная аутентификация и авторизация
- [TypeScript](https://www.typescriptlang.org/) - Типизированный JavaScript для надежной разработки
- [Swagger](https://swagger.io/) - Автоматическая документация API
### Frontend
- [Next.js 14](https://nextjs.org/) - React фреймворк с серверными компонентами
- [TypeScript](https://www.typescriptlang.org/) - Типизированный JavaScript
- [Tailwind CSS](https://tailwindcss.com/) - Utility-first CSS фреймворк для быстрой разработки UI
- [React Query](https://tanstack.com/query/latest) - Управление состоянием и кэширование данных
- [Axios](https://axios-http.com/) - HTTP клиент с перехватчиками запросов
## 📋 Требования
- Node.js 18.x или выше
- PostgreSQL 14.x или выше
- npm 9.x или выше
## 🛠 Установка и запуск
### Клонирование репозитория
```bash
git clone https://github.com/MindlessMuse666/university-platform.git
cd university-platform
```
### Backend
```bash
cd university-platform-backend
# Установка зависимостей
npm install
# Настройка переменных окружения
cp .env.example .env
# Отредактируйте .env файл, указав необходимые параметры
# Применение миграций базы данных
npx prisma migrate dev
# Запуск в режиме разработки
npm run start:dev
# Запуск в production режиме
npm run build
npm run start:prod
```
### Frontend
```bash
cd university-platform-frontend
# Установка зависимостей
npm install
# Настройка переменных окружения
cp .env.example .env
# Отредактируйте .env файл, указав URL бэкенда (NEXT_PUBLIC_API_URL)
# Запуск в режиме разработки
npm run dev
# Сборка для production
npm run build
npm run start
```
## 🌐 Доступ к приложению
После запуска приложение будет доступно по следующим адресам:
- Frontend: http://localhost:3000
- Backend API: http://localhost:3001
- API Документация: http://localhost:3001/docs (Swagger UI)
## ✨ Основные функции
### Курсы
- Просмотр списка доступных курсов
- Детальная информация о курсе
- Поиск и фильтрация курсов по уровню и категории
- Современный адаптивный интерфейс
- Поддержка изображений курсов
### Пользователи
- Система ролей (Студент, Преподаватель, Администратор)
- Аутентификация и авторизация
- Управление профилем пользователя
### Контент
- Загрузка и отображение изображений
- Структурированный контент курсов
- Поддержка различных форматов материалов
## 🏗 Структура проекта
```
university-platform/
├── university-platform-backend/ # Backend приложение (NestJS)
│ ├── src/
│ │ ├── auth/ # Аутентификация и авторизация
│ │ ├── courses/ # Модуль курсов
│ │ ├── users/ # Управление пользователями
│ │ └── common/ # Общие утилиты и middleware
│ ├── prisma/ # Схема базы данных и миграции
│ └── test/ # Тесты
│
└── university-platform-frontend/ # Frontend приложение (Next.js)
├── src/
│ ├── app/ # Страницы приложения (App Router)
│ │ ├── courses/ # Страницы курсов
│ │ └── auth/ # Страницы аутентификации
│ ├── components/ # React компоненты
│ │ ├── courses/ # Компоненты для курсов
│ │ └── ui/ # UI компоненты
│ ├── lib/ # Утилиты и хелперы
│ │ ├── api/ # API клиент и методы
│ │ └── utils/ # Общие утилиты
│ ├── types/ # TypeScript типы
│ └── constants/ # Глобальные константы
└── public/ # Статические файлы
```
## 🎯 Текущий статус
### Реализовано
- ✅ Базовая структура проекта
- ✅ API для курсов
- ✅ Интерфейс списка курсов
- ✅ Детальный просмотр курса
- ✅ Поиск и фильтрация курсов
- ✅ Адаптивный дизайн
### В разработке
- 🔄 Система аутентификации
- 🔄 Управление пользователями
- 🔄 Загрузка материалов курсов
- 🔄 Система прогресса обучения
## 📸 Скриншоты
### Главная страница

*Современный и чистый интерфейс главной страницы*
### Список курсов

*Страница со списком курсов, включая поиск и фильтрацию*
### Детальная страница курса

*Подробная информация о курсе с адаптивным дизайном*
## 🤝 Вклад в проект
1. Форкните репозиторий
2. Создайте ветку для ваших изменений (`git checkout -b feature/amazing-feature`)
3. Зафиксируйте изменения (`git commit -m 'Add some amazing feature'`)
4. Отправьте изменения в ваш форк (`git push origin feature/amazing-feature`)
5. Создайте Pull Request
## 📝 Лицензия
Этот проект распространяется под лицензией MIT. Подробности в файле [LICENSE](LICENSE).
## 👥 Автор
- MindlessMuse666
* [GitHub](https://github.com/MindlessMuse666)
* [Telegram](t.me/mindless_muse)
* [Gmail](mindlessmuse.666@gmail.com)
## 🙏 Благодарности
- [NestJS](https://nestjs.com/) за отличный фреймворк
- [Next.js](https://nextjs.org/) за современный React фреймворк
- [Prisma](https://www.prisma.io/) за удобный ORM
- [Tailwind CSS](https://tailwindcss.com/) за прекрасный CSS фреймворк
- [React Query](https://tanstack.com/query/latest) за удобное управление состоянием
- [Heroicons](https://heroicons.com/) за красивые иконки