$ account mraible
The 21-Points Health application is a full-stack health tracking system built with a Spring Boot backend and an Angular frontend. It allows users to register, log in, and track various health metrics including weight, blood pressure, and activity points (from exercises, meals, and alcohol). Users can set personal preferences such as weekly goals and weight units (kg/lb). The application provides data visualization through lists, calendars, and charts, and includes administrative features for user management. The architecture follows a standard monolithic pattern with a clear separation of concerns. The backend exposes a RESTful API secured with JWT authentication, uses Spring Data JPA for persistence with a PostgreSQL database (H2 for development), and integrates Elasticsearch for search capabilities. The frontend is a modular Angular application that consumes the API, implements reactive state management with RxJS, and uses Bootstrap for responsive styling. The application also includes internationalization (English and French), Docker Compose configurations for development dependencies, and monitoring setups with Prometheus and Grafana. While the application leverages the JHipster generator for much of its boilerplate, it contains several custom components that demonstrate good engineering practices. Notable among these are a custom Logback converter for handling multi-line log messages, a utility service for file operations (base64 encoding and blob downloading), and a pipe for formatting time durations. These components are relatively isolated and could be reused in other projects with minimal modification.