Skip to content

Nonkululeko-Ma/HealthTrackerSystem_Assignment-all

 
 

Repository files navigation

HealthTrackerSystem_Assignment12

Fitness Tracker API Assignment 12: Service Layer & REST API Implementation**
Rust Axum OpenAPI

🚀 Quick Start

 Clone and run
git clone https://github.com/your-username/fitness-tracker-rust.git
cd fitness-tracker-rust
cargo run

Test endpoints
curl -X POST http://localhost:3000/api/users \
  -H "Content-Type: application/json" \
  -d '{"email":"test@fit.com","name":"Alice"}'


Project Structure

.
├── src/
│   ├── services/          # Business logic (User/Activity services)
│   ├── api/               # REST controllers
│   ├── repositories/      # Data persistence (A11)
├── tests/
│   ├── services/          # Unit tests
│   └── api/               # Integration tests
├── docs/                  # OpenAPI specs
└── Cargo.toml


API Endpoints

Users
Method	Endpoint	Description
POST	/api/users	Register new user
GET	/api/users/{id}	Get user profile
Activities
Method	Endpoint	Description
POST	/api/activities	Start new activity
POST	/api/activities/{id}/complete	Complete activity

Example Request:

curl -X POST http://localhost:3000/api/activities \
  -H "Content-Type: application/json" \
  -d '{"user_id":"user123","activity_type":"Running"}


Testing

# Run unit tests (services)
cargo test --test services

# Run integration tests (API)
cargo test --test api

# Test coverage (requires grcov)
cargo tarpaulin --ignore-tests

Documentation

Interactive API docs available at:
http://localhost:3000/docs

Swagger UI

🛠️ Development






About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 100.0%