Skip to content

IPodymov/pd-projects-frontend

Repository files navigation

PD Projects Frontend

Веб-приложение для создания, управления и модерации проектов в учебных заведениях. Студенты вузов и школьники могут создавать проекты, приглашать участников и получать одобрение от модераторов.

✨ Основные возможности

  • Регистрация и авторизация — с выбором типа (студент вуза / школьник)
  • Создание проектов — с описанием, ссылками и участниками
  • Управление участниками — приглашения через токены
  • Модерация — администраторы одобряют/отклоняют проекты
  • История изменений — отслеживание всех обновлений проекта
  • Фильтрация по ролям — студент видит проекты вуза, школьник — школы
  • Профиль пользователя — редактирование данных

🛠️ Технологии

  • Vue 3 — прогрессивный UI фреймворк
  • TypeScript — типизированный JavaScript
  • Vite — быстрый сборщик проекта
  • Pinia — управление состоянием
  • Vue Router — маршрутизация
  • Axios — HTTP клиент
  • Vuetify 3 — компоненты UI

📁 Структура проекта

src/
├── pages/           # Страницы приложения
├── components/      # Переиспользуемые компоненты
├── ui/              # UI компоненты (Button, Input, etc.)
├── services/        # API интеграция
├── stores/          # Pinia управление состоянием
├── router/          # Маршруты приложения
├── plugins/         # Плагины (Vuetify)
├── assets/          # Статические файлы
└── main.ts          # Точка входа

🚀 Быстрый старт

Установка

npm install

Конфигурация

Создай или отредактируй .env:

VITE_API_BASE_URL=http://localhost:3000/

Запуск

# Разработка
npm run dev

# Сборка
npm run build

# Preview
npm run preview

📚 Документация

Полная документация находится в папке docs/:

🔐 Аутентификация

  • Использует JWT токены для авторизации
  • Токен сохраняется в localStorage
  • Автоматически добавляется в заголовок Authorization: Bearer <token> ко всем запросам

👥 Роли пользователей

  • STUDENT — студент (роль по умолчанию)
  • UNIVERSITY_STAFF — модератор / сотрудник вуза
  • ADMIN — администратор платформы

Фильтрация проектов по ролям:

  • Студент вуза → видит только проекты вуза
  • Школьник → видит только проекты школы
  • Админ / Сотрудник → видит все проекты

🔗 API

Приложение взаимодействует с backend API:

  • Локально: http://localhost:3000
  • Продакшен: https://pd-projects-backend-production.up.railway.app

Подробнее: см. docs/SERVICES.md

🧪 Тестирование

При запуске backend с npm run seed доступны тестовые учётные записи:

  • student@example.com / password123 — студент
  • staff@example.com / password123 — модератор
  • admin@example.com / password123 — администратор

📝 Разработка

Хочешь помочь с разработкой? Прочти CONTRIBUTING.md:

  • Процесс разработки
  • Стиль кода
  • Как создавать компоненты
  • Как добавлять новые фичи

📄 Лицензия

MIT

🤝 Связанные проекты

  • Backend — NestJS API сервер

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors