VibeNote — это веб-приложение для ведения личного дневника, отслеживания эмоционального состояния, анализа качества сна и повышения продуктивности. Проект объединяет психологические инструменты, трекеры привычек и планировщик задач в единой экосистеме.
0510.mp4
VibeNote родился из идеи создать единое пространство для самопознания и развития личности. В современном мире так важно уделять время ментальному здоровью, но существующие инструменты часто разрознены.
VibeNote объединяет всё необходимое в одном приложении:
- Рефлексировать через ведение дневника с поддержкой Markdown
- Отслеживать эмоции с помощью визуального календаря настроений
- Анализировать сон с детальной статистикой и классификацией снов
- Планировать задачи используя гибкую систему с цветными тегами
- Узнавать себя лучше через научно обоснованные психологические тесты
- Повышать продуктивность с помощью таймера учёбы и отслеживания времени
| Модуль | Описание | Ключевые возможности |
|---|---|---|
| Дневник | Ведение личных записей с богатым форматированием | Markdown редактор, выбор настроения, избранные записи, поиск и фильтрация, вопросы для рефлексии |
| Трекер настроения | Визуализация эмоционального состояния | Календарь настроений с иконками, круговая диаграмма распределения, графики по дням недели, анализ средней длины записей |
| Трекер сна | Анализ качества и паттернов сна | Мультипериоды сна, типология сновидений (обычный/кошмар/любовный/грустный), теги снов, статистика и тренды |
| Тесты личности | Психологическая диагностика | Большая пятёрка (40 вопросов), тест на мотивацию, тест на эмоциональный интеллект, шкала депрессии PHQ-9 |
| Заметки о себе | Саморефлексия и цели | Личные заметки, списки бустеров и дренеров настроения |
| Модуль | Описание | Ключевые возможности |
|---|---|---|
| Планировщик | Организация задач по дням и неделям | Визуальный недельный план, цветные теги, отметка важных дней, детальный просмотр дня с таймлайном |
| Study Timer | Отслеживание времени учёбы | Трекинг сессий, статистика по предметам, история сессий, графики распределения времени, календарь активности |
| Заметки (Business) | Хранение рабочих идей | Markdown поддержка, закрепление важного, поиск, теги |
- Аутентификация через JWT с httpOnly cookies
- Управление профилем — смена имени пользователя, выбор аватара
- Удаление аккаунта с каскадным удалением всех данных
Next.js 16.x (App Router) + React 19 + TypeScript
- ├── UI: Tailwind CSS + Lucide Icons
- ├── State: Zustand (клиент) + EventBus (события)
- ├── Charts: Recharts (визуализация данных)
- ├── Markdown: ReactMarkdown + remark-gfm
- └── HTTP: Axios (интерцепторы для токенов)
FastAPI 0.115+ + SQLAlchemy 2.0 (async) + PostgreSQL
- ├── Auth: python-jose (JWT) + Passlib (bcrypt)
- ├── Security: httpOnly cookies + CORS
- ├── Database: asyncpg
- ├── Validation: Pydantic V2
diary/
- ├── backend/ # FastAPI бэкенд
- │ ├── app/
- │ │ ├── routers/ # API эндпоинты (по модулям)
- │ │ ├── models.py # SQLAlchemy модели
- │ │ ├── schemas.py # Pydantic схемы
- │ │ ├── crud.py # CRUD операции
- │ │ ├── dependencies.py # Зависимости (auth, db)
- │ │ ├── config.py # Конфигурация
- │ │ ├── database.py # Подключение к БД
- │ │ └── main.py # Точка входа
- │ ├── alembic/ # Миграции БД
- │ ├── requirements.txt
- │ └── .env.example
- │
- ├── frontend/ # Next.js фронтенд
- │ ├── app/
- │ │ ├── business/ # Бизнес-секция
- │ │ ├── personal/ # Личная секция
- │ │ ├── login/ # Логин
- │ │ ├── register/ # Регистрация
- │ │ ├── layout.tsx # Корневой layout
- │ │ └── globals.css # Глобальные стили
- │ ├── components/ # UI компоненты
- │ ├── store/ # Zustand сторы
- │ ├── lib/ # Утилиты (axios, eventBus)
- │ ├── hooks/ # Кастомные хуки
- │ ├── public/ # Статика (аватарки, иконки)
- │ ├── package.json
- │ └── next.config.js
- │
- ├── screenshots/ # Скриншоты для README
- ├── docker-compose.yml
- └── README.md
Node.js 18+ и pnpm/npm
Python 3.12+ и PostgreSQL 15+
Установка и запуск (локальная разработка)
1. Клонирование репозитория
bash
git clone https://github.com/anyamao/diary.git
cd diary- Настройка бэкенда
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
# Создайте .env файл:
cp .env.example .env
# Заполните DATABASE_URL, SECRET_KEY и т.д.
# Запуск сервера
uvicorn app.main:app --reload --port 8011
Бэкенд запустится на http://localhost:8011
- Настройка фронтенда
cd ../frontend
pnpm install # или npm install
cp .env.example .env.local # настройте API_URL
# Запуск дев-сервера
pnpm dev # или npm run dev
Приложение будет доступно на http://localhost:3011
Вклад в проект (^_<)〜☆
Мы приветствуем любой вклад в развитие VibeNote!
Сообщайте об ошибках через Issues
Предлагайте новые функции через Pull Request
Улучшайте документацию
Планы по развитию (Roadmap)
Мобильное приложение на React Native (в разработке)
Интеграция с Google Calendar для планера
Голосовые заметки
📄 Лицензия
Этот проект распространяется под лицензией MIT. Подробности в файле LICENSE.
