KeepItUp.MagJob is a microservices-based job management platform designed to help businesses manage their workflow, team communications, and time tracking effectively.
The application is built using a microservices architecture with the following components:
- Client Application: Angular-based frontend
- API Gateway: Entry point for all client requests (.NET)
- Identity Service: Handles authentication and authorization with Keycloak integration (.NET)
- Chat Service: Manages team communications (Java Spring Boot)
- Calendar Service: Handles scheduling and appointments (Java Spring Boot)
- Time Evidence Service: Tracks working hours and activities (Java Spring Boot)
- Frontend: Angular with Tailwind CSS
- Backend: .NET Core and Java Spring Boot microservices
- Authentication: Keycloak
- Databases: PostgreSQL
- Infrastructure: Docker
- Docker and Docker Compose
- .NET SDK
- Java JDK 17 or later
- Maven or Gradle
- Node.js and npm
- IDE with Spring Boot support (IntelliJ IDEA, Eclipse with Spring Tools, or VS Code with Spring extensions)
-
Clone the repository:
git clone https://github.com/KeepIt-Up/KeepItUp.MagJob.git cd KeepItUp.MagJob -
Create a
.envfile based on the example:cp .env.example .envEdit the
.envfile to set your environment variables. These are used by Docker Compose to configure the services. -
Start the application using Docker Compose:
docker-compose up -
Access the application:
- Frontend: http://localhost:80
- API Gateway: http://localhost:5000
- Keycloak Admin: http://localhost:18080
docs/- Contains all the documentation for the projectsrc/- Contains all the source code for the microservicesKeepItUp.MagJob.Client/- Angular frontend applicationKeepItUp.MagJob.APIGateway/- API Gateway serviceKeepItUp.MagJob.Identity/- Identity serviceKeepItUp.MagJob.Chat/- Chat and Notifications serviceKeepItUp.MagJob.Calendar/- Calendar serviceKeepItUp.MagJob.TimeEvidence/- Time tracking serviceKeycloak/- Keycloak configuration and realm export
