---
# System prepended metadata

title: Oakland

---

# 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.