Skip to content

Luca324/Analytics-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Analytics-service

Описание функционала

Analytics-service — это веб-приложение для работы с CSV файлами, которое предоставляет три основных функционала: анализ загруженных CSV файлов, генерацию тестовых CSV файлов и просмотр истории обработки.

📊 CSV Аналитик (Uploader)

Основная страница приложения для анализа CSV файлов.

Функционал:

  • Загрузка CSV файла через drag-and-drop или выбор файла
  • Отправка файла на бэкенд для агрегации и анализа данных
  • Отображение статистики по загруженному файлу (хайлайты и аналитика)
  • Автоматическое сохранение результатов обработки в историю
  • Обработка ошибок при загрузке или обработке файла

Скриншоты: image image

🔧 CSV Генератор (Generator)

Страница для генерации тестовых CSV файлов.

Функционал:

  • Генерация готового CSV файла одним нажатием кнопки
  • Автоматическое скачивание сгенерированного файла
  • Настройки генерации (размер файла, наличие ошибок, максимальные расходы)
  • Отображение статуса генерации (ожидание, обработка, завершено)

Скриншоты: image

📜 История (History)

Страница для просмотра истории обработки файлов.

Функционал:

  • Отображение всех ранее обработанных файлов с их статусами (успешно/ошибка)
  • Просмотр статистики по каждому обработанному файлу
  • Удаление отдельных записей из истории
  • Очистка всей истории одним нажатием
  • Быстрый переход к генератору CSV файлов

Скриншоты: image image

Инструкция по запуску

Запуск бэкенда

  1. Скачать бэкенд
  2. перейти в папку бэкенда и запустить его:
npm run start

Запуск фронтенда

Запуск в режиме разработки

npm install   # установка зависимостей
npm run dev   # запуск сервера 

сервер появится здесь http://localhost:5173/

Запуск в продакшен

npm install   # установка зависимостей
npm run build
npm run preview   # запуск сервера 

сервис появится здесь http://localhost:4173/

Архитектура проекта

Компоненты

  • Страницы: /pages (основные страницы приложения)
  • UI-компоненты: /components/UI (переиспользуемые компоненты: кнопки, ссылки и т.д.)
  • Остальные компоненты: /components

Слои приложения

  1. API слой: API.js - взаимодействие с бэкендом
  2. Слой данных: store/index.js - управление состоянием через Zustand
  3. UI слой: напрямую взаимодействует с API и хранилищем

Особенности

  • Все хранилища Zustand находятся в одном файле из-за их небольшого размера
  • Отсутствует отдельный слой бизнес-логики ввиду простоты сервиса

About

Домашняя работа по лекциям «React» Школы разработки интерфейсов Яндекса

Topics

Resources

Stars

Watchers

Forks

Contributors