A Spring Boot microservice for managing user data and authentication for the Madie platform. This service provides RESTful APIs for user details, activity tracking, and integrates with MongoDB for persistence.
- User CRUD operations
- Activity tracking
- MongoDB index configuration
- CORS support for multiple environments
- Security configuration
- Java 17
- Spring Boot
- Spring Data MongoDB
- Mockito & Hamcrest (unit testing)
- JUnit 5
- Maven
- Java 17+
- Maven
- MongoDB (local or remote)
- Clone the repository:
git clone https://github.com/MeasureAuthoringTool/madie-user-service.git cd madie-user-service - Configure MongoDB:
- Update
src/main/resources/application.yamlwith your MongoDB connection details.
- Update
- Run the application:
The service will start on
./mvnw spring-boot:run
http://localhost:8088by default.
- Unit and Integration Tests:
./mvnw test - Unit tests use Mockito and Hamcrest for mocking and assertions.
- Integration tests use SpringBootTest to verify context and bean loading.
See the controller classes in src/main/java/gov/cms/madie/user/controllers/ for available endpoints and request/response models.
- GitHub Actions workflow runs Gitleaks to scan for secrets on every push.
- Slack notifications are sent on scan failures.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the MIT License.
For questions or support, please contact the Madie team or open an issue in the repository.