https://github.com/shiru99/engage-21
Microsoft Engage '21 : Implemented microservices-architecture with Sping-Boot
https://github.com/shiru99/engage-21
api-gateway circuit-breaker config-service discovery-server microservice postgresql spring-boot spring-cloud
Last synced: 3 months ago
JSON representation
Microsoft Engage '21 : Implemented microservices-architecture with Sping-Boot
- Host: GitHub
- URL: https://github.com/shiru99/engage-21
- Owner: Shiru99
- Created: 2021-11-09T04:06:48.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-12-30T10:47:23.000Z (over 2 years ago)
- Last Synced: 2025-01-08T01:46:43.810Z (5 months ago)
- Topics: api-gateway, circuit-breaker, config-service, discovery-server, microservice, postgresql, spring-boot, spring-cloud
- Language: Java
- Homepage: https://microsoft.acehacker.com/fte2021/
- Size: 7.99 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Engage-21
Microsoft Engage 2021
## Description - Scheduler
This feature allows students to submit weekly preferences for attending class in-person or remotely. The tool then assigns available seats to students who want to physically attend class and provides the faculty with a roster of who has been cleared to attend.
## Short description & Tool used for implementation
1. Font-end: React.js - Redux & Material-UI
2. Back-end: Java - Spring Boot & PostgreSQLMicro-service architecture: (for backend)
- Config-server: for storing configuration
- Discovery-server (Eureka-server): for discovery of micro-services
- API gateway: for routing requests to micro-services
- Circuit breaker & Fallback: for handling errors
- Hystrix-dashboard: for monitoring
- JWT Authentication: for authentication (NOT working: Dependency issue with spring-cloud-security & spring-cloud-starter-gateway)## Installations
1. Install & Connect Database - PostgreSQL
```
For Ubuntu:$ sudo apt-get update
$ sudo apt install postgresql postgresql-contrib
$ sudo -u postgres psql postgrespostgres=# CREATE ROLE "Shiru99" WITH PASSWORD '1234';
postgres=# ALTER ROLE "Shiru99" WITH LOGIN;
postgres=# CREATE DATABASE collegeconnect$ psql -U Shiru99 -h localhost -p 5432 collegeconnect
```2. Install Java (14)
## Sequence of microservices to run the application
### connect database
### Backend:
1. config-server
2. discovery-server
3. api-gateway
4. feature microservices/my-authentication-service
5. feature microservices/student-scheduler
6. feature microservices/teacher-scheduler
7. feature microservices/class-scheduler### Frontend :
1. run react application