Skip to content

akira-dude/alfred

Repository files navigation

Alfred - Система управления

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

Возможности

🔐 Аутентификация и безопасность

  • Регистрация и вход пользователей
  • Восстановление пароля
  • Защищенные маршруты
  • Гибридная аутентификация (Firebase + LocalStorage)
  • Управление профилем пользователя

👥 Управление контактами

  • Создание, редактирование и удаление контактов
  • Полная информация о контактах (имя, отчество, фамилия, дата рождения, описание)
  • Группировка контактов по категориям
  • Создание и управление группами контактов
  • Поиск и фильтрация контактов
  • Связь контактов с событиями

📅 Управление событиями

  • Создание кастомных событий
  • Автоматическое создание событий дней рождения из контактов
  • Календарный вид событий
  • Группировка событий по месяцам
  • Привязка событий к контактам
  • Уведомления о предстоящих событиях

📝 Система заметок

  • Создание и редактирование заметок
  • Категоризация заметок с цветовой кодировкой
  • Закрепление важных заметок
  • Система тегов для организации
  • Специальные заметки-события с датами
  • Просмотрщик заметок с форматированием

📊 Аналитика и отчеты

  • Журнал событий системы
  • Отслеживание действий пользователя
  • Статистика использования функций
  • Аналитика производительности

🎨 Пользовательский интерфейс

  • Современный адаптивный дизайн
  • Темная и светлая темы
  • Боковая панель навигации
  • Система уведомлений
  • Интуитивный интерфейс

⚙️ Настройки системы

  • Управление профилем пользователя
  • Настройки темы интерфейса
  • Конфигурация уведомлений
  • Экспорт и импорт данных

Технологии

  • Frontend: React 19, TypeScript, React Router
  • Стилизация: SCSS с модульной архитектурой
  • Управление состоянием: Zustand
  • База данных: Firebase Firestore + LocalStorage как fallback
  • Аутентификация: Firebase Auth + гибридная система
  • Хостинг: Firebase Hosting
  • Тестирование: Jest

Архитектура

Управление состоянием (Zustand Stores)

  • AuthStore: Аутентификация и авторизация
  • ContactStore: Управление контактами и группами
  • EventStore: Управление событиями и календарем
  • NoteStore: Система заметок и категорий
  • UserStore: Профиль пользователя и настройки
  • UIStore: Состояние интерфейса и уведомления
  • DashboardStore: Общие данные дашборда

Сервисы

  • ContactService: API для работы с контактами
  • EventService: API для работы с событиями
  • NoteService: API для работы с заметками
  • UserService: API для работы с пользователями
  • CalendarEventService: Интеграция с календарем
  • AnalyticsService: Сбор аналитики
  • FirebaseAuthService: Аутентификация через Firebase
  • HybridAuthService: Гибридная система аутентификации

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

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

npm install

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

npm start

Приложение будет доступно по адресу http://localhost:3000

Сборка для продакшена

npm run build

Деплой на Firebase

Приложение настроено для деплоя на Firebase Hosting.

Предварительные требования

  1. Установите Firebase CLI:
npm install -g firebase-tools
  1. Авторизуйтесь в Firebase:
firebase login

Команды деплоя

Полный деплой (хостинг + Firestore):

npm run deploy

Деплой только хостинга:

npm run deploy:hosting

Деплой только Firestore:

npm run deploy:firestore

Живое приложение

Приложение доступно по адресу: https://alfred-cc94a.web.app

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

Подробное описание структуры проекта находится в файле STRUCTURE.md

Вход в систему

Для новых пользователей:

  1. Зарегистрируйтесь на странице /register
  2. Используйте email и пароль для входа

Для существующих пользователей:

Пароль можно изменить в настройках после входа в систему.

Восстановление пароля:

Если вы забыли пароль, обратитесь в Telegram для восстановления доступа.

Основные функции

Управление контактами

  • Добавление контактов с полной информацией
  • Создание групп для организации контактов
  • Поиск и фильтрация по различным критериям
  • Экспорт и импорт данных контактов

Календарь событий

  • Автоматическое создание дней рождения из контактов
  • Создание кастомных событий
  • Календарный вид с группировкой по месяцам
  • Уведомления о предстоящих событиях

Система заметок

  • Создание заметок с богатым форматированием
  • Организация по категориям с цветовой кодировкой
  • Система тегов для быстрого поиска
  • Закрепление важных заметок
  • Специальные заметки-события

Аналитика

  • Журнал всех действий в системе
  • Статистика использования функций
  • Отслеживание производительности

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages