Skip to content

Web2Bizz/atom-dbro-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ATOM Π”ΠžΠ‘Π Πž

ВСрсия: 2.0.0

Π’Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для управлСния волонтСрскими организациями ΠΈ квСстами Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚Π΅ Π°Ρ‚ΠΎΠΌΠ½Ρ‹Ρ… Π³ΠΎΡ€ΠΎΠ΄ΠΎΠ².

ОписаниС

ATOM Π”ΠžΠ‘Π Πž прСдставляСт собой Π΅Π΄ΠΈΠ½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ для Π²ΠΎΠ»ΠΎΠ½Ρ‚Π΅Ρ€ΠΎΠ², ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΈ всСх участников Π±Π»Π°Π³ΠΎΡ‚Π²ΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ обСспСчиваСт Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ волонтСрских ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΈ квСстов Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚Π΅, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ профилями ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, систСму достиТСний ΠΈ Π³Π΅ΠΉΠΌΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ участия Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ….

Основной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ организациями

  • ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ волонтСрских ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚Π΅
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ мСстополоТСния, ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² ΠΈ описания
  • Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± организациях
  • Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΏΠΎ Π³ΠΎΡ€ΠΎΠ΄Π°ΠΌ, Ρ‚ΠΈΠΏΠ°ΠΌ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΈ направлСниям Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ
  • ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ списка собствСнных ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
  • ΠœΠΎΠ΄Π΅Ρ€Π°Ρ†ΠΈΡ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ с Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ статуса

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ квСстами

  • Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ квСстов с многоэтапной структурой
  • ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ для этапов квСста: финансовыС срСдства, Π²ΠΎΠ»ΠΎΠ½Ρ‚Π΅Ρ€Ρ‹, ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ прогрСссом выполнСния квСстов
  • ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ участия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² квСстах
  • БистСма QR-ΠΊΠΎΠ΄ΠΎΠ² для рСгистрации участия
  • Архивация ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ квСстов

ΠŸΡ€ΠΎΡ„ΠΈΠ»ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

  • ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ статистики участия Π² квСстах ΠΈ организациях
  • БистСма ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ ΠΈ ΠΎΠΏΡ‹Ρ‚Π°
  • ДостиТСния ΠΈ Π½Π°Π³Ρ€Π°Π΄Ρ‹
  • Π˜ΡΡ‚ΠΎΡ€ΠΈΡ участия Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ квСстами

АутСнтификация ΠΈ авторизация

  • РСгистрация Π½ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ
  • Π’Ρ…ΠΎΠ΄ Π² систСму
  • ВосстановлСниС пароля
  • Π—Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹Π΅ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹ для Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π°Ρ ΠΊΠ°Ρ€Ρ‚Π°

  • ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΈ квСстов Π½Π° ΠΊΠ°Ρ€Ρ‚Π΅
  • ΠšΠ»Π°ΡΡ‚Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΡ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ΠΎΠ² для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ отобраТСния
  • Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ критСриям
  • Π”Π΅Ρ‚Π°Π»ΡŒΠ½Π°Ρ информация ΠΎΠ± ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… Π½Π° ΠΊΠ°Ρ€Ρ‚Π΅

ВСхнологичСский стСк

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ

  • React 19 - Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для построСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса
  • TypeScript - Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования
  • Vite 7 - инструмСнт сборки ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
  • w2b-vite-filebased-routing - ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ Π½Π° основС Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ структуры (file-based routing)
  • React Router DOM 7 - навигация ΠΌΠ΅ΠΆΠ΄Ρƒ страницами

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ состояниСм

  • Redux Toolkit - ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌ состояниСм прилоТСния
  • RTK Query - Ρ€Π°Π±ΠΎΡ‚Π° с API ΠΈ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…
  • Redux Persist - сохранСниС состояния Π² локальном Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅

ΠšΠ°Ρ€Ρ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ

  • Leaflet - Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ ΠΊΠ°Ρ€Ρ‚Π°ΠΌΠΈ
  • React Leaflet - React-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для Leaflet
  • Leaflet MarkerCluster - кластСризация ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ΠΎΠ² Π½Π° ΠΊΠ°Ρ€Ρ‚Π΅

Бтилизация

  • Tailwind CSS - ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°Ρ€Π½Ρ‹ΠΉ CSS-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ
  • Tailwind Animate CSS - Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ

Π€ΠΎΡ€ΠΌΡ‹ ΠΈ валидация

  • React Hook Form - ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ
  • Zod - схСма Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…
  • Hookform Resolvers - интСграция Zod с React Hook Form

UI ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹

  • Shadcn UI - доступныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ интСрфСйса
  • Lucide React - Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈΠΊΠΎΠ½ΠΎΠΊ
  • Sonner - систСма ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ
  • Emoji Picker React - Π²Ρ‹Π±ΠΎΡ€ эмодзи для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΈ квСстов

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

  • React Joyride - ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΡƒΡ€Ρ‹ ΠΏΠΎ интСрфСйсу
  • Next Themes - ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΌΠ°ΠΌΠΈ оформлСния

ВСстированиС

  • Vitest - быстрый unit-тСст Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ
  • React Testing Library - тСстированиС React ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²
  • MSW (Mock Service Worker) - ΠΌΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ HTTP запросов для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… тСстов
  • @testing-library/jest-dom - Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ‚Ρ‡Π΅Ρ€Ρ‹ для DOM

Установка ΠΈ запуск

ВрСбования

  • Node.js вСрсии 18 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅
  • pnpm ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

Установка зависимостСй

pnpm install

Запуск Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

pnpm dev

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ доступно ΠΏΠΎ адрСсу http://localhost:5173

Π‘Π±ΠΎΡ€ΠΊΠ° для production

pnpm build

Π‘ΠΎΠ±Ρ€Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ dist

ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ production сборки

pnpm preview

Π›ΠΈΠ½Ρ‚ΠΈΠ½Π³ ΠΊΠΎΠ΄Π°

pnpm lint

ВСстированиС

Запуск всСх тСстов:

pnpm test

Запуск тСстов с UI интСрфСйсом:

pnpm test:ui

Запуск тСстов с ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π°:

pnpm test:coverage

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

src/
  components/          - React ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹
    forms/            - ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Ρ„ΠΎΡ€ΠΌ (рСгистрация, Π²Ρ…ΠΎΠ΄, созданиС ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΈ квСстов)
    header/           - ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ шапки сайта
    home/             - ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π³Π»Π°Π²Π½ΠΎΠΉ страницы (Hero, About, Features ΠΈ Ρ‚.Π΄.)
    manage/           - ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ управлСния квСстами ΠΈ организациями
    map/              - ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠ°Ρ€Ρ‚ΠΎΠΉ
    profile/          - ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ профиля ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
    support/          - ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ
    tour/             - ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ‚ΡƒΡ€ΠΎΠ²
    ui/               - ΠŸΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ UI ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹
  pages/              - Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Ρ‹ прилоТСния (file-based routing)
    (auth)/          - Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Ρ‹ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ
    (header)/        - Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Ρ‹ с шапкой
    (manage)/        - Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Ρ‹ управлСния
  store/              - Redux store ΠΈ сСрвисы
    entities/        - RTK Query сСрвисы для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с API
    hooks/           - Redux Ρ…ΡƒΠΊΠΈ
  hooks/              - ΠšΠ°ΡΡ‚ΠΎΠΌΠ½Ρ‹Π΅ React Ρ…ΡƒΠΊΠΈ
  contexts/           - React контСксты
  utils/              - Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π°Ρ€Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
  types/              - TypeScript Ρ‚ΠΈΠΏΡ‹ ΠΈ интСрфСйсы
  constants/          - ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ прилоТСния
  data/               - БтатичСскиС Π΄Π°Π½Π½Ρ‹Π΅ (достиТСния ΠΈ Ρ‚.Π΄.)
  lib/                - Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
  provider/           - ΠŸΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Ρ‹ (ProtectedRoute)
  pwa/                - ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ Progressive Web App (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈ Ρ…ΡƒΠΊΠΈ)
  styles/             - Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ стили
  tests/              - ВСсты прилоТСния
    unit/            - Unit тСсты
    integration/     - Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ тСсты

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹

  • / - Главная страница с описаниСм ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹
  • /map - Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Π°Ρ ΠΊΠ°Ρ€Ρ‚Π° с организациями ΠΈ квСстами
  • /login - Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° Π²Ρ…ΠΎΠ΄Π° Π² систСму
  • /registration - Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° рСгистрации Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
  • /forgot-password - ВосстановлСниС пароля
  • /reset-password - Бброс пароля
  • /profile - ΠŸΡ€ΠΎΡ„ΠΈΠ»ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
  • /add-organization - Π€ΠΎΡ€ΠΌΠ° добавлСния ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ
  • /add-quest - Π€ΠΎΡ€ΠΌΠ° создания квСста
  • /organizations/:id/manage - Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ
  • /quests/:id/manage - Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ квСстом
  • /support - Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ

API интСграция

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ взаимодСйствуСт с REST API для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ:

  • АутСнтификация ΠΈ авторизация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ организациями (созданиС, Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅)
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ квСстами (созданиС, Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅)
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ обновлСниями ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ
  • ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ списка участников квСстов
  • Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ трСбованиями этапов квСстов
  • ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ статистики ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

ВсС запросы ΠΊ API ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· RTK Query с автоматичСским ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ ΠΈΠ½Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠ΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ….

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ трСбованиями квСстов

ΠšΠ²Π΅ΡΡ‚Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ для этапов:

  • ЀинансовыС срСдства (finance)
  • Π’ΠΎΠ»ΠΎΠ½Ρ‚Π΅Ρ€Ρ‹ (contributers)
  • ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΈ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹ (material)

Π’ΠΈΠΏ трСбования опрСдСляСтся Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ этапа квСста ΠΈ пСрСдаСтся Π² API ΠΏΡ€ΠΈ создании ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ.

ΠœΠΎΠ΄Π΅Ρ€Π°Ρ†ΠΈΡ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ

ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ проходят процСсс ΠΌΠΎΠ΄Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ. ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ со статусом isApproved: false Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ находящиСся Π½Π° ΠΌΠΎΠ΄Π΅Ρ€Π°Ρ†ΠΈΠΈ.

БистСма достиТСний

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ достиТСния Π·Π° участиС Π² квСстах ΠΈ организациях. БистСма ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ основана Π½Π° Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½ΠΎΠΌ ΠΎΠΏΡ‹Ρ‚Π΅.

ВСстированиС

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡƒΡŽ систСму тСстирования:

  • Unit тСсты - тСстированиС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚
  • Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ тСсты - тСстированиС взаимодСйствия ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ API
  • MSW (Mock Service Worker) - ΠΌΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ HTTP запросов для изоляции тСстов
  • React Testing Library - тСстированиС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² с фокусом Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΎΠΏΡ‹Ρ‚
  • Vitest - быстрый тСст Ρ€Π°Π½Π½Π΅Ρ€ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ TypeScript

ВСсты располоТСны Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ src/tests/ ΠΈ автоматичСски Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Π² CI/CD.

Π Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅

Для развСртывания прилоТСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Docker. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ инструкции ΠΏΠΎ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΡŽ находятся Π² Ρ„Π°ΠΉΠ»Π΅ DEPLOY.md.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ шаги развСртывания

  1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Docker сСти
  2. Настройка ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния
  3. Π‘Π±ΠΎΡ€ΠΊΠ° ΠΈ запуск ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ²
  4. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…
  5. Настройка reverse proxy (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ)

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния для настройки ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ API. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅:

  • VITE_API_URL - Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ URL API сСрвСра

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ Vite

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ сборки находится Π² Ρ„Π°ΠΉΠ»Π΅ vite.config.ts. Настройки Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚:

  • Алиасы ΠΏΡƒΡ‚Π΅ΠΉ для ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΎΠ² (@/ для src/)
  • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ сборки с Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π½Π° Ρ‡Π°Π½ΠΊΠΈ (vendor chunks)
  • Настройки file-based routing Ρ‡Π΅Ρ€Π΅Π· w2b-vite-filebased-routing
  • ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Vitest для тСстирования
  • SEO ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ с Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ sitemap ΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Ρ„Π°ΠΉΠ»ΠΎΠ²

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ file-based routing - страницы ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ»Ρ‹ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ src/pages/. Π ΠΎΡƒΡ‚ΠΈΠ½Π³ обрабатываСтся автоматичСски Ρ‡Π΅Ρ€Π΅Π· w2b-vite-filebased-routing.

Code style

  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ESLint для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠΎΠ΄Π°
  • TypeScript строгий Ρ€Π΅ΠΆΠΈΠΌ
  • Prettier для форматирования (Ссли настроСн)

ΠšΠΎΠΌΠΌΠΈΡ‚Ρ‹

РСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ conventional commits для описания ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

ЛицСнзия

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Ρ…Π°ΠΊΠ°Ρ‚ΠΎΠ½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ w2b.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages