Skip to content

Server-side of the Automatic Installation academic final degree project in software engineering

Notifications You must be signed in to change notification settings

FDP-ASIS/Server

Repository files navigation

Automatic Software Installation System

A standard academic final degree project in software engineering.
It was created for "Afeka College (Tel Aviv Academic College of Engineering)" which makes the software installation process in the various courses a fully automated, non-contact process. This documentation is only for the server-side of the project.

Gradle

The project uses Gradle (open-source build automation system which is used to automate building, testing, deployment)

Spring Boot

The project uses Spring boot (open source Java-based framework) to create a micro services.

Microservices

1. Discovery-service:
An application that holds information about all client-service applications. Every Microservice will register into the Eureka server and the Eureka server knows all the client applications running on each port and IP address. It deals with load balancing and can store a service when it has 2 instances up while working on two different ports.
2. Gateway-service:
Handles all the requests and does the dynamic routing of microservice applications. The server knows the routes instead of addressing them individually. The Zuul Server is also known as Edge Server.
3. Auth-service:
The authentication flow is simple:
The user sends a request to get a token bypassing his credentials.
The server validates the credentials and sends back a token. With every request, the user has to provide the token, and the server will validate that token.
4. User-service:
All operations that admin/lecturer/student can use and data about the user in the system.
5. Course-service:
All operations that admin/lecturer/user can use. This service stores data about the courses in the system.
6. Software-service:
Software data saved in an external repository: https://github.com/FDP-ASIS/Repository/tree/master/scripts The user can get the software name and the versions. Also, he can get the script file for downloading the software to his personal computer.

Database

The database in the system is MongoDB (cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with optional schemas)

Want to know more about our project? We created a gitBook for you:

Detailed explanations about the server- GitBook Site
Detailed explanations about the server- GitBook PDF

Detailed explanations about the scripts installation- GitBook Site
Detailed explanations about the scripts installation- GitBook PDF

Swagger API

SwaggerHub API Methods

About

Server-side of the Automatic Installation academic final degree project in software engineering

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages