Платформа для создания и управления челленджами в различных пространствах. Позволяет организовывать соревнования, отслеживать прогресс участников и управлять достижениями.
- React 18
- TypeScript
- Tailwind CSS
- Shadcn/ui
- React Router v6
- Axios
- date-fns
- Lucide Icons
- Ещё чёт
- Клонируйте репозиторий:
git clone <repository-url>
cd challenge-platform
- Установите зависимости:
npm install
- Установите необходимые компоненты shadcn/ui:
npm run setup:ui
Контекст для хранения информации о текущем пользователе. Предоставляет:
- Данные пользователя
- Статус загрузки
- Обработку ошибок
- Метод обновления данных
Использование:
import { useUser } from '@/contexts/UserContext';
const Component = () => {
const { user, isLoading, error, refetchUser } = useUser();
// ...
};
Пространства для организации челленджей:
- Создание и управление пространствами
- Приглашение участников
- Управление достижениями
- Создание челленджей
Челленджи внутри пространств:
- Создание и настройка челленджей
- Различные типы определения победителей
- Система верификации результатов
- Оценка результатов
- Отслеживание прогресса
Проект использует axios для работы с API. Эндпоинты перечислены тут - https://etf-team.ru/api/docs
Для разработки:
npm run dev
Для продакшн сборки:
npm run build
npm run preview
npm run lint # Проверка линтером
npm run lint:fix # Автоисправление ошибок линтера
npm run format # Форматирование кода
npm run type-check # Проверка типов TypeScript