# Oakland ![](https://i.imgur.com/cLlTbua.png) ## API Endpoints Base endpoint: `/api/v1` ### Index 1. [Person Service](#Person-Service) 1.1. [Persson](#Person) 1.2. [Hobby](#Hobby) 2. [Student Service](#Student-Service) 3. [School Service](#School-Service) 3.1. [Degree](#Degree) 3.2. [Student Class](#Student-Class) ### Person Service #### Person #### `/person` - [x] `GET`: Get all the People. - [x] `POST`: Create a new Person. #### `/person/{person-id}` - [x] `GET`: Get a Person, support extended mode. - [x] `PATCH`: Edit a Person. - [x] `DELETE`: Delete a Person. #### `/person/{person-id}/hobby` - [x] `POST`: Add a Hobby to a Person. #### `/person/{person-id}/hobby/{hobby-id}` - [x] `DELETE`: Delete a Hobby from a Person. #### Hobby #### `/hobby` - [x] `GET`: Get all the hobbies. - [x] `POST`: Create a new Hobby. #### `/hobby/{hobby-id}` - [x] `GET`: Get a Hobby. - [x] `PATCH`: Edit a Hobby. - [x] `DELETE`: Delete a Hobby. ### Student Service #### `/student` - [x] `GET`: Get all the students. - [x] `POST`: Create a new Student. #### `/student/{student-id}` - [x] `GET`: Get a Student. - [x] `PATCH`: Edit a Student. - [x] `DELETE`: Delete a Student. #### `/student/{student-id}/student-class` - [ ] `GET`: Get all the Student Classes. - [x] `POST`: Add the Student to the Student Class. - [x] `DELETE`: Delete all the Student Class. #### `/student/{student-id}/degree` - [ ] `GET`: Get the Student's Degrees. - [x] `POST`: Add the Degree to Student. - [x] `DELETE`: Delete all the Student's Degrees. #### `/student/{student-id}/degree/{degree_id}` - [x] `DELETE`: Delete the Degree from Student. #### `/student/person/{person_id}` - [x] `DELETE`: Delete Person. #### `/student/student-class/{student_class_id}` - [x] `GET`: Get all the Students in the Student Class. - [x] `DELETE`: Delete Student Class from all Students. #### `/student/degree/{degree_id}` - [x] `GET`: Get all the Students with the Degree. - [x] `DELETE`: Delete Degree from all Students. ### School Service #### Degree #### `/degree` - [x] `GET`: Get all the degrees. - [x] `POST`: Create a new degree. #### `/degree/{degree-id}` - [x] `GET`: Get a degree. - [x] `PATCH`: Edit a degree. - [x] `DELETE`: Delete a degree. #### Student Class #### `/student-class` - [x] `GET`: Get all the classes. - [x] `POST`: Create a new class. #### `/student-class/{class-id}` - [x] `GET`: Get a class. - [x] `PATCH`: Edit a class. - [x] `DELETE`: Delete a class. #### `/student-class/{class-id}/student` - [ ] `GET`: Get a class. ## Use cases ### Service Personne: Le service Personne est utilisé pour récupérer et mettre à jour des informations sur les individus associés à l'école, telles que leur nom, leurs coordonnées et leurs centres d'intérêt. Il doit permettre de créer, modifier et supprimer les personnes. ### Service Étudiant: Le service Étudiant est utilisé pour récupérer et mettre à jour des informations sur les étudiants, telles que leur statut d'inscription, leur année universitaire et leurs relevés de notes. Il doit permettre de créer, modifier et supprimer les personnes. ### Service École: Le service École gère les diplômes de l'école, y compris la création de nouveaux diplômes, la mise à jour de diplômes existants et la suppression de diplômes. Pareil pour les promotions des étudiants et étudiantes. Il pourrait également être utilisé pour gérer les cours.