Unitip is a RestFul API created with the purpose of helping college students by providing the necessary routes to create an application that provides tips.
To clone and run this application you need to have Git and Docker installed on your computer
In your command line:
# Clone the repository
$ git clone https://github.com/edsonaraujobr/undefined_api
# Run the application through docker
$ docker compose up --build
# To close the application
$ docker compose down -vDone, now you can acess the endpoints locally with http://localhost:4444
You can acess endpoints through Postman using api-unit.onrender.com/
Professors who teach at this university
| Method | Description | endpoint |
|---|---|---|
POST |
Create professor | /add/professor |
GET |
Read all professors | /professors |
PUT |
Update professor | /update/professor/:id |
DELETE |
Delete professor | /delete/professor:id |
- Body
{ "name": STRING, "email": STRING, "stars": INTEGER }
Existing courses at this university
| Method | Description | endpoint |
|---|---|---|
POST |
Create course | /add/course |
GET |
Read all courses | /courses |
PUT |
Update course | /update/course/:id |
DELETE |
Delete course | /delete/course/:id |
- Body
{ "name": STRING, "idUniversity": UUID, "duration": INTEGER, "field": STRING, "type": STRING }
University where the student studies
| Method | Description | endpoint |
|---|---|---|
POST |
Create university | /add/university |
GET |
Read all universities | /universities |
PUT |
Update university | /update/university/:id |
DELETE |
Delete university | /delete/university/:id |
- Body
{ "name": STRING, "email": STRING, "city": STRING, "state": STRING, "street": STRING, "neighborhood": STRING }
Existing Semesters at this course
| Method | Description | endpoint |
|---|---|---|
POST |
Create semester | /add/semester |
GET |
Read all semesters | /semesters |
PUT |
Update semester | /update/semester/:id |
DELETE |
Delete semester | /delete/semester/:id |
- Body
{ "period": INTEGER, "level": STRING, "idCourses": UUID }
Existing matters at this semester
| Method | Description | endpoint |
|---|---|---|
POST |
Create matter | /add/matter |
GET |
Read all matters | /matters |
PUT |
Update matter | /update/matter/:code |
DELETE |
Delete matter | /delete/matter/:code |
- Body
{ "code": STRING, "name": STRING, "hours": INTEGER, "level": STRING, "idSemesters": UUID }
User acessing application
| Method | Description | endpoint |
|---|---|---|
POST |
Create student | /add/student |
GET |
Read all students | /students |
PUT |
Update student | /update/student/:registration |
DELETE |
Delete student | /delete/student/:registration |
- Body
{ "registration": STRING, "full_name": STRING, "email": STRING, "password": STRING, "idCourses": UUID, "date_admission": DATE, "photo": BLOB, "idCourses": UUID }
Tip written by student
| Method | Description | endpoint |
|---|---|---|
POST |
Create tip | /add/tip |
GET |
Read all tips | /tips |
PUT |
Update tip | /update/tip/:id |
DELETE |
Delete tip | /delete/tip/:id |
- Body
{ "tittle": STRING, "date": DATE, "tip": TEXT, "idMatters": STRING, "idStudents": STRING }
Proof made by student
| Method | Description | endpoint |
|---|---|---|
POST |
Create proof | /add/proof |
GET |
Read all proofs | /proofs |
PUT |
Update proof | /update/proof/:id |
DELETE |
Delete proof | /delete/proof/:id |
- Body
{ "date": DATE, "tip": TEXT, "file": BLOB, "idMatters": STRING, "idStudents": STRING }
Subjects a teacher teaches
| Method | Description | endpoint |
|---|---|---|
POST |
Create professorMatter | /add/professorMatter |
GET |
Read all professorMatters | /professorMatters |
GET |
Read all matter from a professor | /professor/:professorId/matters |
GET |
Read all professor from a matter | /matterr/:matterId/professors |
DELETE |
Delete professorMatter | /delete/professorMatter |
- Body
{ "professorId": UUID, "matterId": STRING }
These are the technologies used in this project
Backend: Node.js, Express, MySQL.
This project are is under the MIT license. See the LICENSE to get more details.