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

https://github.com/code-418-dpr/fspodium-web

Веб-приложение для проекта FSPodium
https://github.com/code-418-dpr/fspodium-web

Last synced: 12 months ago
JSON representation

Веб-приложение для проекта FSPodium

Awesome Lists containing this project

README

          

# FSPoduim Web

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

Веб-приложение для проекта FSPodium

## Особенности разработки

- [x] адаптивный интерфейс хорошо смотрится на разных типах экранов
- [x] можно использовать как мобильное приложение, благодаря технологии PWA
- [x] рендеринг веб-страниц на сервере
- [x] фронтенд и бэкенд работают в одной среде
- [x] авторизация пользователей с проверкой почты
- [x] поддержка ролей центрального и региональных представительств
- [x] возможность подачи заявки на регистрацию аккаунта представительства, события и т. д.
- [x] просмотр и управление всеми типами заявок центром
- [x] одобренные центром события отображаются в удобном календаре
- [x] вывод статистической информации
- [x] уведомления о новых заявках и обращениях, а также изменении их статуса
- [x] изменение публичной контактной информации
- [ ] светлая и тёмная темы
- [ ] расширенная кастомизация уведомлений
- [ ] более продвинутая система рекомендаций
- [ ] дополнительные варианты отображения контента
- [ ] составление календарного плана и отчётов о соревнованиях в удобном интерфейсе
- [ ] загрузка отчётов о соревнованиях из файлов и парсинг данных из них в базу для обеспечения бесшовного перехода пользователей
- [ ] единый шаблон генерации выходных документов для всех регионов
- [ ] общий рейтинг спортсменов на платформе с историей соревнований и наградами

## Стек

- **[Bun](https://bun.sh/)** — более производительная среда выполнения JavaScript, чем Node.js
- **[Typescript](https://www.typescriptlang.org/)** — статический типизатор для JavaScript
- **[Next.js](https://nextjs.org/)** — full-stack веб-фреймворк
- **[Prisma](https://www.prisma.io/)** — ORM
- **[Shadcn UI](https://ui.shadcn.com/)** — библиотека компонентов интерфейса
- **[Tailwind CSS](https://tailwindcss.com/)** — CSS-фреймворк
- **[Auth.js](https://authjs.dev/)** — библиотека аутентификации

## Установка и запуск

0. Клонируйте репозиторий, перейдите в его папку и создайте в ней файл `.env` на основе `.env.template`.

### Посредством Docker

1. Установите и настройте [Docker](https://www.docker.com/).
2. Из папки проекта выполните сборку образа:

```shell
docker build -t fspodium-web .
```

3. Теперь запускать проект можно командой:

```shell
docker run -it -d -p 3000:3000 fspodium-web
```

### Без использования Docker

1. Установите [Bun](https://bun.sh/).
2. Из папки проекта выполните установку зависимостей:

```shell
bun install
```

3. Соберите проект и разверните БД:

```shell
bun run build
bunx prisma db push
```

4. Теперь запускать проект можно командой:

```shell
bun run start
```