Skip to content

Sendo desenvolvido de forma colaborativa, é uma aplicação completa para uma faculdade EAD, utilizando a arquitetura de microserviços, Java e SpringBoot para o backend e React para o front end

Notifications You must be signed in to change notification settings

gabrielcruzrodrigues/Faculdade-EAD_Microsservicos-colaborativo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

Faculdade EAD

  • (Client) front-end
  • (Server) back-end

Feito de forma colaborativa por:

(Backend)

@Gabriel Rodrigues - https://github.com/gabrielcruzrodrigues
@Asafe Santana - https://github.com/AsafeSantana

(Frontend)

@Israel Hamndan - https://github.com/IsraelHamdan
@Caio Costa - https://www.behance.net/caiolucasmktdigital

Sobre o projeto:

O objetivo do projeto é criar um sistema completo, contendo frontend e backend, sendo feito de forma colaborativa para aplicar os conhecimentos de cada um dos membros participantes, gerando um sistema eficiênte, o projeto conta com os seguintes conceitos:

O que o sistema pode fazer?

O sistema reflete o real ambiente de uma universidade, tendo o espaço do aluno, onde contem suas informações e permitindo seu acesso as disciplinas e materiais do seu curso, acesso ao financeiro e mais algumas funcionalidades que estaram descritas nas documentações.

A área de cursos esta bem completa, contando com cursos, que contem semestres, que contem disciplinas, que contem os seus materiais, que podem ser imagens, videos e arquivos em pdfs.

O financeiro é o gerenciador de acesso e mensalidade, que sera integrado a um sistema de pagamento escolhido, que podera ser alterado com o passar do tempo.

As notificações são um bom diferencial no projeto, podendo ser SMS, Email e via Client.

-- Documentation for Backend --

⚙️_inicial settings_:

Folders to create before starting:

  • C:/faculty/images-students
  • C:/faculty/files-students

Create docker container rabbitmq of the course:

docker run -it --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.12-management 
  • create queue courses-for-student
  • create queue user-for-authentication

Download PostgreSQL and create these databases:

  • authentication
  • course
  • student

microservices startup order

  • 1°: Eureka server
  • 2°: Authentication
  • 3°: Course and Student
  • 4°: Gateway

ports

👤_Users default_

Administrador

Name: Administrador
Email: admin@email.com
Password: 123456
🔑ADMIN 

Cordenador

Name: Coordinator
Email: coordinator@email.com
Password: 123456
🔑COORDINATOR 

🎓_Student microservice_:

📌Endpoints:

📌 Find all students - (GET) host/student

🟢Response status: 200
🔐Access permission: 
    🔑 ADMIN 
    🔑 COORDINATOR
    🔑 DIRECTOR

📌 Find by registration - (GET) host/student/search/registration/{registration}

🟢Response status: 200
🔐Access permission: 
    🔑 ADMIN 
    🔑 COORDINATOR
    🔑 DIRECTOR

📌 Find by Id - (GET) host/student/search/id/{id}

🟢Response status: 200
🔐Access permission: 
    🔑 STUDENT
    🔑 ADMIN 
    🔑 COORDINATOR
    🔑 DIRECTOR

📌 Find all files - (GET) host/files

🟢Response status: 200
🔐Access permission: 
    🔑 ADMIN 
    🔑 COORDINATOR
    🔑 DIRECTOR

📌 Find file by reference - (GET) host/files/{reference-file}

🟢Response status: 200
🔐Access permission: 
    🔑 STUDENT
    🔑 ADMIN 
    🔑 COORDINATOR
    🔑 DIRECTOR

📌 Delete file by reference - (DELETE) host/files/{reference-file}

🟢Response status: 204
🔐Access permission: 
    🔑 STUDENT
    🔑 ADMIN 
    🔑 COORDINATOR
    🔑 DIRECTOR

📌 Find all images - (GET) host/student/images

🟢Response status: 200
🔐Access permission:
    🔑 ADMIN 
    🔑 COORDINATOR
    🔑 DIRECTOR

📌 Find image by reference - (GET) host/student/images/{reference-file}

🟢Response status: 200
🔐Access permission: 
    🔑 STUDENT
    🔑 ADMIN 
    🔑 COORDINATOR
    🔑 DIRECTOR

📌 Delete image by reference - (GET) host/student/images/{reference-file}

🟢Response status: 200
🔐Access permission: 
    🔑 STUDENT
    🔑 ADMIN 
    🔑 COORDINATOR
    🔑 DIRECTOR

* Create student - (POST) host/student

🟢Response status: 201
🔐Access permission: 
    🔑 ALL PERMISSION

* Enable access and create curriculum - (PUT) host/student/enable/access/{id}

🟢Response status: 200
🔐Access permission: 
    🔑 ADMIN 
    🔑 COORDINATOR
    🔑 DIRECTOR

* Find all courses - (GET) host/student/course/list

🟢Response status: 200
🔐Access permission: 
    🔑 ADMIN 
    🔑 COORDINATOR
    🔑 DIRECTOR

{
    "completeName": "Pedro Alves Rodrigues",
    "email": "pedro@gmail.com",
    "password": "123456",
    "cpf": "86859683058",
    "birthday": "2002-01-22",
    "city": "jequié",
    "nationatily": "brasileira",
    "ethnicity": "PRETA",
    "phone": "73900000000",
    "address": "rua a",
    "numberHouse": 64
}

* Update student - (PUT) host/student/update

🟢Response status: 200
🔐Access permission: 
    🔑 ADMIN 
    🔑 COORDINATOR
    🔑 DIRECTOR


{
    "completeName": "samuel Cruz Rodrigues",
    "registration": "b959efd0-2",
    "email": "llll@gmail.com",
    "cpf": "86859683058",
    "birthday": "2002-01-22",
    "city": "jequié",
    "nationatily": "brasileira",
    "ethnicity": "PRETO",
    "phone": "73900000000",
    "address": "rua a",
    "numberHouse": 64
}

* Upload files - (POST) host/student/upload/file

🟢Response status: 200
🔐Access permission: 
    🔑 ADMIN 
    🔑 COORDINATOR
    🔑 DIRECTOR

KEY                    TYPE                 VALUE
file                   file                 directory to file
username               text                 {username student}
fileType               text                 {CPF || RG || COMPLETATION}

* Upload image profile - (POST) host/student/upload/image

🟢Response status: 201
🔐Access permission: 
    🔑 STUDENT

KEY                    TYPE                 VALUE
file                   file                 directory to file
username               text                 {username student}

* Disable student - (DELETE) host/student/delete/{id}

🟢Response status: 204
🔐Access permission: 
    🔑 ADMIN 
    🔑 COORDINATOR
    🔑 DIRECTOR

* Enable student - (PUT) host/student/enable/{id}

🟢Response status: 204
🔐Access permission: 
    🔑 ADMIN 
    🔑 COORDINATOR
    🔑 DIRECTOR

* Register documents for avaliation - (Post) host/student/files/documents/register

🟢Response status: 204
🔐Access permission: 
    🔑 STUDENT

KEY                    TYPE                 VALUE
username               text                 {username student}
cpf                    file                 directory to file
rg                     file                 directory to file
completation           file                 directory to file

* Send documents to the coordinator - (PUT) host/student/enable/access/verify/{id}

🟢Response status: 204
🔐Access permission: 
    🔑 STUDENT

About

Sendo desenvolvido de forma colaborativa, é uma aplicação completa para uma faculdade EAD, utilizando a arquitetura de microserviços, Java e SpringBoot para o backend e React para o front end

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 97.6%
  • TypeScript 1.7%
  • Other 0.7%