Skip to content

Wenozaric/User-activity-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

User Activity Tracker

Сервис для отслеживания активности пользователей с авторизацией, ежедневной статистикой и встроенным todo-менеджером.

Технологии

  • Frontend: React, TypeScript, Zod, Zustand, React-router-dom, Tailwindcss
  • Backend: Node.js, Express, TypeScript, Prisma, Zod, Express-Sessions, Helmet, Bcrypt
  • Database: PostgreSQL
  • Auth: Session-based (cookie)
  • Deploy: Docker, Docker Compose
  • Task scheduling: node-cron (автосоздание дней)

Функционал

  • Регистрация / Логин (сессии + cookies)
  • Ежедневная статистика (автоматическое создание дней через CRON)
  • Todo-лист на каждый день
  • Метрики продуктивности
  • Rate limiting для защиты API
  • Docker + .env для безопасного запуска

Копируем проект

# 1. Склонировать репозиторий
git clone https://github.com/Wenozaric/user-activity-tracker.git
cd user-activity-tracker

# 2. Создать .env из примера
cp .env.example .env
# Отредактируй .env (пароли, секреты, базу данных)

Локальный запуск (без Docker)

Важно: Для локальной сборки нужно создать базу данных в pgAdmin и заменить в .env:

DATABASE_URL="postgresql://postgres:ваш_пароль@localhost:5432/user_activity"

Вместо postgresql://postgres:password@postgres:5432/user_activity

cd backend
npm install
npx prisma generate
# Копируем .env, иначе призма не запустится
npm run copy-env
npm run dev

# Выполните во втором терминале
cd frontend
npm install
npm run dev

Быстрый запуск ( Docker )

docker-compose up --build

Приложение будет доступно:

ВАЖНО

  • Проект критически зависит от базы данных PostgreSQL.

  • Без работающей БД приложение не запустится и упадет с ошибкой

  • При использовании Docker БД поднимается автоматически (контейнер postgres)

  • При локальном запуске убедитесь, что PostgreSQL установлен и запущен

  • Все переменные подключения к БД обязательно должны быть заполнены в файле .env

Частые проблемы и решения

Ошибка аутентификации PostgreSQL (password authentication failed)

Симптомы: Контейнер с БД падает с ошибкой FATAL: password authentication failed

Причина: Docker сохранил старый volume с данными БД, где пароль отличается от текущего в .env

Решение:

# Остановить все контейнеры и удалить volume с данными БД
docker-compose down -v

# Запустить заново
docker-compose up --build

Если понравился проект — поставь звезду!

Автор: Wenozaric

About

User Activity Tracker with authentication, daily stats, and todo list. Built with Node.js, Express, TypeScript, Prisma, and Docker.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages