https://github.com/woookle/py_challenge
Py Challenge — это платформа для любителей программирования на Python, где можно решать задачи, соревноваться с другими пользователями и отслеживать свой прогресс
https://github.com/woookle/py_challenge
express material-ui mongoose python vite-react
Last synced: 6 days ago
JSON representation
Py Challenge — это платформа для любителей программирования на Python, где можно решать задачи, соревноваться с другими пользователями и отслеживать свой прогресс
- Host: GitHub
- URL: https://github.com/woookle/py_challenge
- Owner: woookle
- Created: 2025-01-30T16:17:02.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-21T18:23:08.000Z (about 1 year ago)
- Last Synced: 2025-04-21T19:33:03.839Z (about 1 year ago)
- Topics: express, material-ui, mongoose, python, vite-react
- Language: JavaScript
- Homepage:
- Size: 1.56 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🇷🇺 Py Challenge
**🐍 Py Challenge** — это платформа для любителей программирования на Python, где можно решать задачи, соревноваться с другими пользователями и отслеживать свой прогресс. 🎯
---
## 🔧 Технологический стек
### 🛠 Backend
- **bcrypt** 🔒: Для хэширования паролей и обеспечения безопасности.
- **cookie-parser** 🍪: Для работы с cookies.
- **cors** 🌐: Для обработки кросс-доменных запросов.
- **dotenv** 🔑: Для управления переменными окружения.
- **express** 🚂: Фреймворк для создания сервера.
- **express-validator** ✅: Для валидации данных.
- **jsonwebtoken** 🔐: Для аутентификации через JWT.
- **mongoose** 🦉: Для работы с MongoDB.
- **multer** 📤: Для обработки загрузки файлов.
- **python-shell** 🐍: Для запуска Python-кода.
- **uuid** 🆔: Для генерации уникальных идентификаторов.
### 🎨 Frontend
- **@codemirror/lang-python** ✨: Поддержка Python в редакторе кода.
- **@emotion/react** 🎭: Для стилизации компонентов.
- **@emotion/styled** 🎨: Для создания стилизованных компонентов.
- **@mui/icons-material** 🖼: Иконки от Material-UI.
- **@mui/material** 🧩: Компоненты Material-UI.
- **@reduxjs/toolkit** 🧰: Для управления состоянием приложения.
- **@uiw/react-codemirror** 📝: Редактор кода.
- **axios** 📡: Для HTTP-запросов.
- **react** ⚛️: Библиотека для создания пользовательских интерфейсов.
- **react-dom** 🌍: Для рендеринга React-компонентов.
- **react-redux** 🔄: Для интеграции Redux с React.
- **react-router-dom** 🛣: Для маршрутизации в приложении.
- **react-spinners** ⏳: Для отображения индикаторов загрузки.
- **react-toastify** 🍞: Для уведомлений.
---
## 🛠 Функционал
### 👤 Пользователь
- **Регистрация** 📝: Пользователь может зарегистрироваться на платформе.
- **Авторизация** 🔑: Пользователь может войти в свой аккаунт.
- **Просмотр заданий** 📚: Пользователь может просматривать доступные задания.
- **Выполнение заданий** 🧠: Пользователь может попробовать решить задание.
- **Профиль** 👤: Пользователь может просматривать свой профиль и статистику.
- **Профили других пользователей** 👥: Пользователь может просматривать профили других участников.
---
## ⚙️ ENV
**Создайте файл `.env` на основе `.env.example` и добавьте необходимые переменные окружения:**
```env
MONGO_URI=mongodb://localhost:27017/py_challenge
PORT=your_port
VITE_API_PORT=your_api_port
JWT_SECRET=your_secret
```
---
## 🚀 Запуск проекта
### 👾 Backend
1. Перейдите в директорию /backend
```bash
cd backend
```
2. Установите зависимости:
```bash
npm install
```
3. Запустите сервер:
```bash
npm run dev
```
### ✨ Frontend
1. Установите зависимости:
```bash
npm install
```
2. Запустите приложение:
```bash
npm run dev
```
---
ᴛʜᴀɴᴋs ᴀɴᴅ ʜᴀᴠᴇ ᴀ ɴɪᴄᴇ ᴅᴀʏ 😊