Quick Start Guide¶
Get up and running with Goals Tracker in minutes!
Launch the Application¶
Using Docker Compose (Recommended)¶
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¶
- Frontend: http://localhost:5173
- API Documentation: http://localhost:8080/swagger-ui.html
- Backend API: http://localhost:8080/api
First Steps¶
1. Create an Account¶
- Open http://localhost:5173
- Click on "Sign Up"
- Fill in your details:
- Username
- Password
- Click "Create Account"
2. Log In¶
- Use your credentials to log in
- You'll be redirected to the dashboard
3. Create Your First Goal¶
- Navigate to "Goals" section
- Click "New Goal"
- Fill in the details:
- Title: e.g., "Learn Spanish"
- Description: Brief description of your goal
- Priority: Low, Medium, or High
- Category: Health, Career, Finance, Personal, etc.
- Due Date: Set a deadline
- Click "Create Goal"
4. Add Steps to Your Goal¶
- Open your newly created goal
- Click "Add Step"
- Enter step details:
- Title: e.g., "Complete Duolingo Level 1"
- Due Date (optional)
- Mark steps as complete as you progress
5. Create a Habit¶
- Navigate to "Habits" section
- Click "New Habit"
- Configure your habit:
- Name: e.g., "Morning Meditation"
- Description: What you want to do
- Frequency: Daily or X times per week
- Category: Choose a category
- Click "Create Habit"
6. Track Your Habits¶
- View your habits on the dashboard
- Click the checkbox to mark a habit complete for today
- Watch your streak grow!
7. Monitor Progress¶
- Visit the Dashboard to see:
- Active goals
- Today's habits
- Completion statistics
- Current streaks
- 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¶
- Open http://localhost:8080/swagger-ui.html
- Click "Authorize" button
- Login through the auth endpoints
- Copy the JWT token from the response
- Click "Authorize" and paste:
Bearer YOUR_TOKEN - Test any API endpoint
Example: Create a Goal via API¶
- Go to "Goals" section in Swagger
- Click on
POST /api/goals - Click "Try it out"
- Enter request body:
{ "title": "Read 12 Books This Year", "description": "Read one book per month", "priority": "MEDIUM", "category": "Personal", "dueDate": "2026-12-31" } - Click "Execute"
Development Workflow¶
Make Changes to Backend¶
- Edit Java files in
goals-tracker-back/src/ - Spring Boot DevTools will auto-reload
- Test changes via Swagger or frontend
Make Changes to Frontend¶
- Edit React files in
goals-tracker-front/src/ - Vite HMR will auto-reload the browser
- 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¶
- Explore the Backend Architecture
- Learn about Frontend Development
- Understand the CI/CD Pipeline
- Read the API Reference