Skip to content

Releases: Drashko73/LifeSyncTracker

v2.0.1

Choose a tag to compare

@Drashko73 Drashko73 released this 09 Oct 11:25
5aaddd5
Merge pull request #18 from Drashko73/feat/app-icons

Add new app icon and home-screen icons for iOS and Android

v2.0.0

Choose a tag to compare

@Drashko73 Drashko73 released this 02 Oct 14:49
391bda5
Merge pull request #16 from Drashko73/ui-premium

Frontend redesign: calm, data-first UI

v1.2.2

Choose a tag to compare

@Drashko73 Drashko73 released this 01 Mar 12:42
Enhance productivity heatmap component: adjust layout for better resp…

v1.2.1

Choose a tag to compare

@Drashko73 Drashko73 released this 01 Mar 12:34

Productivity heatmap fixes. Added additional option to choose for which year we should display the data.

v1.2.0

Choose a tag to compare

@Drashko73 Drashko73 released this 26 Feb 13:21
Implement user profile component with password change functionality; …

v1.1.0

Choose a tag to compare

@Drashko73 Drashko73 released this 25 Feb 23:03
Add footer component with copyright and GitHub link; update app compo…

v1.0.0

Choose a tag to compare

@Drashko73 Drashko73 released this 20 Feb 15:05

🚀 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.