🐍 Py Challenge — это платформа для любителей программирования на Python, где можно решать задачи, соревноваться с другими пользователями и отслеживать свой прогресс. 🎯
- bcrypt 🔒: Для хэширования паролей и обеспечения безопасности.
- cookie-parser 🍪: Для работы с cookies.
- cors 🌐: Для обработки кросс-доменных запросов.
- dotenv 🔑: Для управления переменными окружения.
- express 🚂: Фреймворк для создания сервера.
- express-validator ✅: Для валидации данных.
- jsonwebtoken 🔐: Для аутентификации через JWT.
- mongoose 🦉: Для работы с MongoDB.
- multer 📤: Для обработки загрузки файлов.
- python-shell 🐍: Для запуска Python-кода.
- uuid 🆔: Для генерации уникальных идентификаторов.
- @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.example
и добавьте необходимые переменные окружения:
MONGO_URI=mongodb://localhost:27017/py_challenge
PORT=your_port
VITE_API_PORT=your_api_port
JWT_SECRET=your_secret
- Перейдите в директорию /backend
cd backend
- Установите зависимости:
npm install
- Запустите сервер:
npm run dev
- Установите зависимости:
npm install
- Запустите приложение:
npm run dev