An open API service indexing awesome lists of open source software.

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, где можно решать задачи, соревноваться с другими пользователями и отслеживать свой прогресс

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 ᴀɴᴅ ʜᴀᴠᴇ ᴀ ɴɪᴄᴇ ᴅᴀʏ 😊