Repository navigation
Releases: Drashko73/LifeSyncTracker
Releases · Drashko73/LifeSyncTracker
Release list
v2.0.1
v2.0.0
v1.2.2
v1.2.1
v1.2.0
v1.1.0
v1.0.0
🚀 LifeSyncTracker v1.0.0 — Initial Release
LifeSyncTracker is a unified web platform for freelancers and individuals to track time spent on specific tasks, manage personal finances (earnings vs. spendings), and visualize productivity and financial health.
This is the first stable release, delivering a fully functional application from the ground up.
✨ Features
🔐 Authentication & Security
- User registration and login with JWT (JSON Web Token) authentication
- Refresh token functionality with device identification — supports automatic token refresh on 401 errors, unique device IDs, and persistent sessions across devices (#11)
- Auth interceptor automatically attaches tokens and handles silent re-authentication
⏱️ Time Tracking Module
- Project/Task Grouping — Create projects (e.g., "Company A", "Personal Learning") with optional hourly rates, color codes, descriptions, and active/inactive toggles
- Tags — Organize work entries with custom tags (e.g., "Development", "Meeting", "Planning")
- Timer — Start/stop a timer with a prominent button, associate it with projects and add descriptions
- Manual Entry & Editing — Add and edit time records manually with UTC-consistent timestamps
- Pagination with Lazy Loading — Time entries table supports server-side pagination for performance
- Rounding Logic — Smart 30-minute interval rounding for time entries
💰 Finance Tracking Module
- Transaction Logging — Track income and expenses with categorized entries and multi-currency support
- Transaction Categories — 12 pre-seeded system categories (Salary, Freelance, Investment, Groceries, Rent, Utilities, Transportation, Software Subscription, Entertainment, Healthcare, and more), plus user-defined custom categories
- Duplicate Prevention — Case-insensitive validation prevents duplicate project, tag, and category names
- Pagination with Lazy Loading — Transactions table supports server-side pagination with page reset on row count changes
- UTC Date Consistency — All transaction dates are normalized to UTC
📊 Visualization & Dashboard
- Dashboard Statistics — Aggregated stats overview including total income, expenses, and net balance
- Time Distribution Chart — Pie chart showing time spent per project
- Financial Flow Chart — Bar chart comparing income vs. expenses over months
- Productivity Heatmap — Calendar view showing daily work intensity
- Chart Download — Download pie and bar charts as images directly from the UI
📄 PDF Report Generation
- Project & Monthly Reports — Generate and export PDF reports filtered by project and month, powered by QuestPDF — ideal for freelancer invoicing
⚙️ Settings & Configuration
- Project Management — Create, edit, and toggle projects as active/inactive from the settings panel
- Tag Management — Create and manage custom tags with color codes
- Category Management — Create custom transaction categories with icons (PrimeIcons) and color codes
🏗️ Technology Stack
| Layer | Technology |
|---|---|
| Frontend | Angular 21, PrimeNG, Tailwind CSS, Angular Signals |
| Backend | .NET 8 (ASP.NET Core Web API), Entity Framework Core |
| Database | PostgreSQL (production), SQLite (legacy dev support) |
| Auth | JWT with Refresh Tokens |
| PDF Generation | QuestPDF |
| Containerization | Docker (multi-stage builds for both frontend & backend) |
| Web Server | Nginx (Angular SPA serving + API reverse proxy) |
| CI/CD | GitHub Actions workflow for building and pushing Docker images |
🐳 Docker & Deployment
- Multi-stage Dockerfiles for both the .NET backend and Angular frontend
- Nginx configuration with gzip compression, security headers, SPA routing, and API reverse proxying to the backend container
- Health check endpoints — Backend health controller for service monitoring; Nginx health checks on the frontend container
- Docker Compose ready — Backend (
lifesync-backend) and Frontend containers designed to work together - GitHub Actions CI/CD — Automated workflow for building and pushing Docker images on commits
🔧 Code Quality & Refactoring
- Separated HTML templates from TypeScript component code for cleaner Angular architecture
- Refactored all backend DTOs (Auth, Dashboard, Project, Common) into separate files organized by Request/Response namespaces with XML documentation
- Consistent linear gradient classes across UI components
- Reorganized header component into separate files
- Removed unused variables and debug console logs
📋 API Endpoints
| Resource | Endpoints |
|---|---|
| Auth | POST /api/auth/register, POST /api/auth/login, POST /api/auth/refresh |
| Projects | GET, POST, PUT /{id}, DELETE /{id} |
| Time Entries | GET, POST /start, POST /stop, POST (manual), PUT /{id}, DELETE /{id} |
| Transactions | GET, POST, PUT /{id}, DELETE /{id}, GET /categories |
| Dashboard | GET /dashboard, GET /time-distribution, GET /monthly-flow |
| Health | GET /api/health |
📝 License
This project is licensed under the MIT License.