https://github.com/al-vallon/strengthtracker
https://github.com/al-vallon/strengthtracker
angular docker postgres postman spring-boot typescript
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/al-vallon/strengthtracker
- Owner: Al-vallon
- License: mit
- Created: 2025-05-14T19:04:24.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2026-03-11T15:40:42.000Z (3 months ago)
- Last Synced: 2026-03-11T19:35:17.822Z (3 months ago)
- Topics: angular, docker, postgres, postman, spring-boot, typescript
- Language: Java
- Homepage:
- Size: 1.93 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Strength Tracker










A comprehensive fitness tracking application built with Angular and Spring Boot.
## ๐ Documentation
- **[GitHub Actions Workflows](./docs/github-actions.md)** - Complete documentation for CI/CD workflows
- **[Architecture](./docs/architecture/)** - Application architecture documentation
- **[API Documentation](./strengthTrackerAPI/)** - Bruno API collection for testing
## ๐ Quick Start
### Prerequisites
- Java 21
- Node.js 22
- Docker (optional)
- PostgreSQL
### Development Setup
1. **Clone the repository**
```bash
git clone https://github.com/Al-vallon/strengthTracker.git
cd strengthTracker
```
2. **Backend Setup**
```bash
cd backend
mvn clean install
mvn spring-boot:run
```
3. **Frontend Setup**
```bash
cd frontend
npm install
npm start
```
4. **Access the application**
- Frontend: http://localhost:4200
- Backend API: http://localhost:8080
- Swagger UI: http://localhost:8080/swagger-ui.html
## ๐๏ธ Architecture
- **Frontend**: Angular 20 with TypeScript and SCSS
- **Backend**: Spring Boot 3 with Java 21
- **Database**: PostgreSQL
- **API Documentation**: Swagger/OpenAPI
- **Containerization**: Docker
- **CI/CD**: GitHub Actions
## ๐ง Development Workflow
This project uses automated workflows for code quality and deployment:
- **Code Linting**: Automatic formatting with Maven Spotless and ESLint
- **Security Scanning**: CodeQL analysis for vulnerability detection
- **Build & Deploy**: Automated artifact generation and deployment
- **Commit Standards**: Conventional commit message enforcement
See the [GitHub Actions documentation](./docs/github-actions.md) for detailed workflow information.
## ๐งช Testing
### Backend Testing
```bash
cd backend
mvn test
```
### Frontend Testing
```bash
cd frontend
npm test
npm run e2e
```
## ๐ฆ Deployment
### Using Docker
```bash
docker-compose up -d
```
### Production Deployment
See individual environment configurations:
- Development: `docker-compose.dev.yml`
- Pre-production: `docker-compose.preprod.yml`
- Production: `docker-compose.prod.yml`
## ๐ Security
- JWT-based authentication
- CORS configuration
- Input validation
- SQL injection prevention
- Automated security scanning with CodeQL
## ๐ค Contributing
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Follow commit message conventions (see [Commit Lint Guide](./docs/workflows/commit-lint.md))
4. Make your changes and ensure tests pass
5. Run linting tools (`mvn spotless:apply` for backend, `npm run lint` for frontend)
6. Submit a pull request
### Code Quality Standards
- Backend: Follows Google Java Format via Maven Spotless
- Frontend: ESLint with Angular recommended rules
- All code is automatically checked in CI/CD pipeline
## ๐ License
This project is licensed under the terms specified in the [LICENSE](./LICENSE) file.