Overview
Daily Tracker API is a powerful Spring Boot REST API designed for task management and productivity tracking. Built with modern Java technologies, it provides a robust backend for building task tracking applications with features like project organization, task types, and AI-powered assistance.What is Daily Tracker?
Daily Tracker is a comprehensive task management system that helps users organize their daily work through:- Task Management: Create, update, reorder, and track tasks with flexible organization
- Project Organization: Group tasks into projects for better workflow management
- Custom Task Types: Define custom task categories to match your workflow
- AI Assistant: Integrated AI chat functionality powered by Google GenAI for productivity insights
- Multi-language Support: Built-in internationalization with support for Portuguese, English, and Spanish
- Secure Authentication: JWT-based authentication with OAuth2 Google login support
Key Features
RESTful API
Clean, well-structured REST endpoints following Spring Boot best practices with comprehensive validation
JWT Authentication
Secure token-based authentication with refresh tokens and OAuth2 Google integration
PostgreSQL Database
Reliable data persistence with Spring Data JPA and Flyway migrations
AI Integration
Built-in AI assistant powered by Google GenAI SDK for intelligent task recommendations
Technology Stack
Daily Tracker API is built with enterprise-grade technologies:- Java 21: Latest LTS version with modern language features
- Spring Boot 3.5.11: Latest Spring framework with enhanced performance
- Spring Security: Industry-standard security with JWT and OAuth2
- Spring Data JPA: Hibernate-based ORM for database operations
- PostgreSQL: Production-ready relational database
- Maven: Dependency management and build automation
- JJWT 0.12.6: JSON Web Token implementation
- Google GenAI SDK: AI-powered features integration
Architecture
The API follows a clean layered architecture:API Capabilities
The Daily Tracker API provides comprehensive endpoints for:Authentication & Authorization
- User registration with email/password
- JWT token-based login
- Token refresh mechanism
- Google OAuth2 social login
- Secure session management
Task Management
- CRUD operations for tasks
- Task reordering and prioritization
- Task filtering by project and type
- Custom task attributes
Organization
- Project creation and management
- Custom task type definitions
- User preferences and settings
- Multi-language interface support
AI Features
- Intelligent chat assistant
- Task analysis and recommendations
- Secure API key management
Security First
Security is built into every layer:All API endpoints under
/api/* require JWT authentication. Public endpoints are limited to authentication flows and health checks.- Password Hashing: BCrypt encryption for user passwords
- JWT Tokens: Signed tokens with configurable expiration (24 hours default)
- Refresh Tokens: Long-lived tokens for session renewal (30 days default)
- CORS Protection: Configurable cross-origin resource sharing
- Request Validation: Jakarta Bean Validation on all inputs
- SQL Injection Protection: Parameterized queries via JPA
Getting Started
Ready to build with Daily Tracker API? Here’s your next steps:Quickstart
Get the API running locally in minutes
Authentication Guide
Learn how to authenticate and secure your requests
API Reference
Explore all available endpoints and schemas
Environment Setup
Configure your development environment
Use Cases
Daily Tracker API is perfect for:- Personal Productivity Apps: Build custom task managers tailored to your workflow
- Team Collaboration Tools: Create shared task boards for teams
- Project Management Systems: Integrate task tracking into larger project platforms
- Time Tracking Solutions: Combine with time tracking for comprehensive productivity insights
- Mobile Applications: Power iOS and Android apps with a robust backend
Open Source
Daily Tracker is open source and available on GitHub. We welcome contributions, bug reports, and feature requests from the community.Support
Need help? Here’s how to get support:- Browse the API Reference documentation for detailed endpoint information
- Check the Guides section for common setup and deployment scenarios
- Open an issue on GitHub for bugs or feature requests
- Review the source code for implementation details