{"id":29460693,"url":"https://github.com/vero-code/student-manager","last_synced_at":"2025-08-24T03:34:48.448Z","repository":{"id":255879016,"uuid":"850606136","full_name":"vero-code/student-manager","owner":"vero-code","description":null,"archived":false,"fork":false,"pushed_at":"2024-09-12T15:41:35.000Z","size":345,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-14T03:01:17.416Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vero-code.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-01T09:08:16.000Z","updated_at":"2024-09-12T15:41:38.000Z","dependencies_parsed_at":"2024-09-12T21:24:16.694Z","dependency_job_id":null,"html_url":"https://github.com/vero-code/student-manager","commit_stats":null,"previous_names":["vero-git-hub/student-manager","vero-code/student-manager"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vero-code/student-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vero-code%2Fstudent-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vero-code%2Fstudent-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vero-code%2Fstudent-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vero-code%2Fstudent-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vero-code","download_url":"https://codeload.github.com/vero-code/student-manager/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vero-code%2Fstudent-manager/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269655865,"owners_count":24454551,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-09T02:00:10.424Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-14T02:30:50.394Z","updated_at":"2025-08-10T00:13:52.365Z","avatar_url":"https://github.com/vero-code.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Microservice - Student Manager\n\nThe Student Management microservice includes a frontend built with **Angular** and a backend powered by **Java Spring Boot**. This CRUD application uses **MongoDB** as the database and is deployed using **Docker** and **Kubernetes**.\n\nIt is developed according to Java coding standards with secure authentication using **JWT**. The architecture follows a separation between controllers, services, and repositories.\n\n## Table of Contents\n\n- [Technologies](#technologies)\n- [Features](#features)\n- [Architecture](#architecture)\n- [Project Setup](#project-setup)\n- [API Documentation](#api-documentation)\n- [Testing](#testing)\n- [Test Coverage](#test-coverage)\n- [Deployment](#deployment)\n- [License](#license)\n\n## Technologies\n\n- **Frontend**: Angular v18.2.4, Angular Material\n- **Backend**: Java v17.0.7, Spring Boot v3.3.3, Apache Maven\n- **Database**: MongoDB v7.0.14\n- **Deployment**: Docker v4.33.1, Nginx, Kubernetes v1.30.2\n- **Documentation**: Swagger (Springdoc OpenAPI) v2.5.0\n- **Security**: Spring Security JJWT v0.11.5, frontend validation\n- **Tests**: JUnit, Mockito, Spring Security Test, MockMvc\n- **Tools**: Node.js v20.14.0, Intellij IDEA, Postman\n\n## Features\n\nThe application performs the core functions of a RESTful API:\n- Registration and authentication\n- Retrieving information about students/student\n- Updating and deleting student data\n\n## Architecture\n\n- **student-manager-frontend**: Directory containing the Angular frontend.\n  - **nginx.conf:** Nginx configuration for serving the frontend.\n- **backend (project root)**: Spring Boot backend using MongoDB and JWT for authentication.\n- **docker-compose.yml**: For managing MongoDB, backend, and frontend containers.\n\n## Project Setup\n\nThe project uses docker-compose to launch all services. Steps to launch using Docker:\n\n1. Rebuild and start the containers:\n\n   ```bash\n   docker-compose up --build\n\nThis will launch three containers:\n\n- **mongodb:** MongoDB database.\n- **student-manager-backend:** Spring Boot backend running on port 8080.\n- **student-manager-frontend:** Angular frontend served via Nginx, running on port 80.\n\n2. Open your browser and go to http://localhost to view the application.\n\n## API Documentation\n\nThe backend API is available at http://localhost:8080. Swagger is used for API testing and documentation.\n\n### Swagger Documentation\n\nYou can view the full documentation and perform test requests via Swagger, available at the following address: http://localhost:8080/swagger-ui.html.\n\n## Testing\n\nYou can test requests in several ways:\n1. **Postman:** An external tool for creating and sending HTTP requests.\n2. **Swagger UI:** Testing can be done directly through the Swagger interface (described above).\n3. **Angular Interface:** The frontend application's user interface, which sends requests to the backend.\n\n## Test Coverage\n\nThe application is covered by tests for the developed APIs. This includes:\n- **Unit Testing:** Verifying individual parts (modules) of the code.\n- **Security Testing:** Checking authorization and authentication, and protecting against unauthorized access.\n\n## Deployment\n\nFor easy deployment, the application supports containerization using Docker. The project includes a mechanism for creating Docker images via Dockerfile for both the frontend and backend.\n\nThe project also provides configuration files for deployment through Kubernetes, allowing for easy scaling and management of the application in a clustered environment.\n\n## License\nThis project is licensed under the terms of the MIT License.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvero-code%2Fstudent-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvero-code%2Fstudent-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvero-code%2Fstudent-manager/lists"}