Интерактивное веб-приложение для планирования посещения фестиваля: выбирайте события, стройте удобный маршрут на день и следите за своей программой в одном месте.
Приложение работает полностью в браузере и хранит данные пользователя в `localStorage`, поэтому для демо-запуска не нужен отдельный бэкенд или база данных.
-
👤 Аккаунт пользователя
- Регистрация и вход (демо-аутентификация через
localStorage) - Профиль с редактированием основных данных
- Загрузка / ссылка на аватар
- Экспорт и очистка данных профиля
- Регистрация и вход (демо-аутентификация через
-
🗓 Список событий фестиваля
- Предзаполненный каталог событий с категориями (музыка, мастер-классы, кино, еда, искусство, спорт)
- Фильтрация по категориям и поиск по названию
- Добавление событий в личный планировщик
-
🧭 Планировщик маршрута
- Отображение выбранных событий как маршрута на день
- Несколько сценариев оптимизации (по времени, по популярности, сбалансированный и т.п.)
- Подсчёт общей длительности и «рейтингов» маршрута
- Сохранение плана в
localStorageдля конкретного пользователя
-
🤖 Нейросеть помощник планирования
- Автоматизация распределния маршрутов
- Поддержка более 10-15 мероприятий
- Автподбор самых выгодных мероприятий
- Сохранения данных в локальном хранилище
-
🎨 Современный UI
- Светлая/тёмная тема
- Адаптивная вёрстка (удобно на десктопе и ноутбуке)
- Компоненты на базе shadcn/ui и Radix UI
- Next.js 14 (App Router)
- React + TypeScript
- Tailwind CSS
- shadcn/ui (UI-компоненты на базе Radix)
- lucide-react (иконки)
- react-hot-toast (уведомления)
- Node.js: версии
>= 18(LTS) - npm (по умолчанию) или любая другая пакетная система:
npm/yarn/pnpm
git clone https://github.com/Spector323/CODE-GUSH
cd CODE-GUSHИли просто распакуйте архив в папку CODE-GUSH/ и перейдите в неё:
cd CODE-GUSHnpm install
# или
yarn
# или
pnpm installnpm run dev
# или
yarn dev
# или
pnpm devПосле запуска приложение будет доступно по адресу:
При изменении кода страница будет автоматически перезагружаться.
Собрать:
npm run build
# или
yarn build
# или
pnpm buildЗапустить production-сервер:
npm start
# или
yarn start
# или
pnpm startПо умолчанию сервер также будет доступен по адресу:
-
Открыть главную страницу
Перейдите наhttp://localhost:3000. На главной есть описание сервиса и кнопка перехода к демо. -
Создать аккаунт
- В шапке нажмите кнопку авторизации (модальное окно).
- Выберите регистрацию, заполните поля (Имя, Имя пользователя, Email, Пароль).
- Данные сохраняются в
localStorageвашего браузера.
-
Авторизоваться
- Переключитесь на режим «Вход».
- Введите имя пользователя и пароль, которые указали при регистрации.
- После входа в шапке появится аватар и меню аккаунта.
-
Выбрать события
- Перейдите на страницу События (
/events). - Отфильтруйте события по категории или воспользуйтесь поиском.
- Добавляйте события в планировщик (кнопка добавления/галочка).
- Перейдите на страницу События (
-
Построить маршрут
- Перейдите на страницу Планировщик (
/planner). - Посмотрите свой текущий маршрут.
- Переключайте режимы оптимизации (по времени, популярности, балансу и т.д.).
- Сохранённый план остаётся в браузере до очистки данных.
- Перейдите на страницу Планировщик (
-
Управление профилем
- На странице Профиль (
/profile) можно:- Изменить основные данные (имя, username, email и т.д.).
- Загрузить аватар.
- Экспортировать профиль в JSON.
- Очистить локальные данные.
- На странице Профиль (
В package.json доступны стандартные скрипты:
npm run dev # запуск dev-сервера
npm run build # production-сборка
npm start # запуск production-сервера
npm run lint # проверка кода линтером- Проект предназначен как демо: логин/регистрация и данные пользователя не защищены и не предназначены для продакшена.
- Все данные хранятся локально в браузере (
localStorage), отдельного сервера и БД не требуется. - Для деплоя на любой хостинг, поддерживающий Next.js, достаточно выполнить
npm run buildи затем запуститьnpm start(или настроить адаптированный runtime на выбранной платформе).