Redesigning "busy" into "accomplishment." LifeLogix is a web platform that transforms your daily records into a data-driven master plan to achieve your most ambitious goals.
LifeLogix is more than just a time tracker; it's a strategic tool designed for individuals and communities who are serious about personal and collective growth. By meticulously logging your life's activities, our system helps you discover the underlying logic (Logix) of your own success. Our ultimate vision is to foster a supportive environment where users can share their journeys, motivate each other, and achieve sustainable growth together.
| Feature | Description | User Value |
|---|---|---|
| Timeline Logging | Clearly record your day in 30-minute time blocks. | Turn ambiguous time into hard data. |
| AI Goal Planner | An AI proposes optimal action plans based on your past records. | Your personal AI strategist. |
| Social Growth | Share reflections with peers and inspire each other to grow. | Motivation through community. |
| Life Dashboard | A hexagonal chart provides an at-a-glance view of your life balance. | Discover balance, prevent burnout. |
This project is built on a modern, robust technical foundation designed for scalability and maintainability.
- Backend: A Spring Boot application guided by Domain-Driven Design (DDD). It adopts the core principle of Hexagonal Architecture by separating the internal business logic (domain) from external concerns (API, persistence), which ensures a modular and maintainable structure.
- Frontend: A responsive and interactive user interface built with React and Next.js.
- Database: Utilizes JPA (Hibernate) for object-relational mapping, with QueryDSL for type-safe complex queries.
For a deeper dive into our technical principles and structure, please see our Architecture Guide.
Follow these instructions to set up the development environment on your local machine.
- Java 17 or later
- Gradle 8.5 or later
- Node.js 20.x or later
- pnpm (
npm install -g pnpm)
git clone https://github.com/UTACt/lifelogix.git
cd lifelogixThe backend requires a local configuration file for database connections and other settings.
- Navigate to the backend resources directory:
cd backend/src/main/resources - Create a new configuration file named
application-local.ymlby copying the main application file:cp application.yml application-local.yml
- Open
application-local.ymland modify thedatasourceproperties (URL, username, password) to match your local database setup.
You will need two separate terminal sessions to run the backend and frontend servers.
Terminal 1: Backend (Spring Boot)
# Navigate to the backend directory
cd backend
# Build the project and run tests
gradle build
# Run the application
gradle bootRunThe backend server will start on http://localhost:8080.
Terminal 2: Frontend (Next.js)
# Navigate to the frontend directory
cd frontend
# Install dependencies
pnpm install
# Run the development server
pnpm devThe frontend development server will start on http://localhost:3000.
Project design, architectural decisions, and other important information are documented in the /docs directory.
- Architecture Guide: The core architectural principles and technical stack.
- API Contracts: API specifications for each version. The latest is v1.3.0.
- Knowledge Base (KB): Records of troubleshooting and technical problem-solving.
The following is a list of currently active architectural decisions. Superseded or deprecated decisions are moved to the docs/adr/archive directory.
- ADR-001: Adopting the Repository Pattern for the Data Access Layer
- ADR-003: Adopting URL Path-Based API Versioning
- ADR-005: Standardizing JWT Handling and Library Roles
- ADR-006: Adopting a Hierarchical Hybrid Category Model
- ADR-007: Adopting a Domain-Centric Package Structure
- ADR-008: Refining the API Layer Package Structure
- ADR-009: Standardizing DTO Design with Java Records
- ADR-010: Standardizing Unit Test Data Creation
- ADR-011: Adopting Token-Based Authentication (JWT)
- ADR-012: Adopting Centralized Exception Handling with ErrorCode Enum
- ADR-013: Establishing a Test Strategy for Authenticated APIs
-
v1.0.0: Core Engine Release 🎯
- Goal: Stabilize core features (Auth, Timeline, Category/Activity Management).
- Tech: Establish architecture (ADR-007), data modeling, and test strategies.
-
v1.1.0: Enhanced Auth & Stability 🔒
- Goal: Improve security and scalability.
- Features: OAuth social login, API Rate Limiting.
-
v1.2.0: Data Insights & Visualization 📊
- Goal: Increase service value through data analytics.
- Features: Life Dashboard, Calendar View, Weekly/Monthly Reports.
-
v1.3.0: Social Interaction & Reflection 🌱
- Goal: Introduce community and self-reflection tools.
- Features: Social features (Follow, Profiles), Gamification, Daily Reflections.
-
v1.4.0: AI-Powered Planning ✨
- Goal: Provide personalized planning and in-depth insights using AI.
- Features: AI Goal Planner, Advanced Data Analytics.
Please read our CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.