Skip to content

Quick Start Guide

Get up and running with Goals Tracker in minutes!

Launch the Application

cd goals-tracker
docker compose up --build

Wait for all services to start (approximately 1-2 minutes).

Using Local Development

Terminal 1 - Database:

docker compose up db

Terminal 2 - Backend:

cd goals-tracker-back
export $(cat .env | grep -v "#" | xargs)
./mvnw spring-boot:run

Terminal 3 - Frontend:

cd goals-tracker-front
npm install
npm run dev

Access the Application

First Steps

1. Create an Account

  1. Open http://localhost:5173
  2. Click on "Sign Up"
  3. Fill in your details:
  4. Username
  5. Email
  6. Password
  7. Click "Create Account"

2. Log In

  1. Use your credentials to log in
  2. You'll be redirected to the dashboard

3. Create Your First Goal

  1. Navigate to "Goals" section
  2. Click "New Goal"
  3. Fill in the details:
  4. Title: e.g., "Learn Spanish"
  5. Description: Brief description of your goal
  6. Priority: Low, Medium, or High
  7. Category: Health, Career, Finance, Personal, etc.
  8. Due Date: Set a deadline
  9. Click "Create Goal"

4. Add Steps to Your Goal

  1. Open your newly created goal
  2. Click "Add Step"
  3. Enter step details:
  4. Title: e.g., "Complete Duolingo Level 1"
  5. Due Date (optional)
  6. Mark steps as complete as you progress

5. Create a Habit

  1. Navigate to "Habits" section
  2. Click "New Habit"
  3. Configure your habit:
  4. Name: e.g., "Morning Meditation"
  5. Description: What you want to do
  6. Frequency: Daily or X times per week
  7. Category: Choose a category
  8. Click "Create Habit"

6. Track Your Habits

  1. View your habits on the dashboard
  2. Click the checkbox to mark a habit complete for today
  3. Watch your streak grow!

7. Monitor Progress

  1. Visit the Dashboard to see:
  2. Active goals
  3. Today's habits
  4. Completion statistics
  5. Current streaks
  6. Progress charts

Common Tasks

View Goal Details

Dashboard → Goals → Click on a goal

Complete a Habit for Today

Dashboard → Habits → Check the box

Update Goal Status

Goals → Select Goal → Edit → Change Status

View Statistics

Dashboard → View Stats Section

API Testing with Swagger

  1. Open http://localhost:8080/swagger-ui.html
  2. Click "Authorize" button
  3. Login through the auth endpoints
  4. Copy the JWT token from the response
  5. Click "Authorize" and paste: Bearer YOUR_TOKEN
  6. Test any API endpoint

Example: Create a Goal via API

  1. Go to "Goals" section in Swagger
  2. Click on POST /api/goals
  3. Click "Try it out"
  4. Enter request body:
    {
      "title": "Read 12 Books This Year",
      "description": "Read one book per month",
      "priority": "MEDIUM",
      "category": "Personal",
      "dueDate": "2026-12-31"
    }
    
  5. Click "Execute"

Development Workflow

Make Changes to Backend

  1. Edit Java files in goals-tracker-back/src/
  2. Spring Boot DevTools will auto-reload
  3. Test changes via Swagger or frontend

Make Changes to Frontend

  1. Edit React files in goals-tracker-front/src/
  2. Vite HMR will auto-reload the browser
  3. Check console for any errors

Run Tests

Backend:

cd goals-tracker-back
./mvnw test

Frontend:

cd goals-tracker-front
npm run lint
npm run build

Stopping the Application

Docker Compose

docker compose down

Local Development

Press Ctrl+C in each terminal running a service.

Reset and Start Fresh

To clear all data and start over:

docker compose down -v
docker compose up --build

This removes all volumes including the database data.

Next Steps