Base du projet 'application ticketing'
This commit is contained in:
@ -12,6 +12,9 @@ if [ ! -e "$FIRST_RUN_FLAG_FILE" ]; then
|
||||
echo "Applying database migrations. Please wait..."
|
||||
bin/console doctrine:migrations:migrate --no-interaction
|
||||
|
||||
echo "Loading fixtures. Please wait..."
|
||||
bin/console doctrine:fixtures:load --no-interaction
|
||||
|
||||
touch "$FIRST_RUN_FLAG_FILE"
|
||||
fi
|
||||
|
||||
|
44
misc/projects/ticketing_app.http
Normal file
44
misc/projects/ticketing_app.http
Normal file
@ -0,0 +1,44 @@
|
||||
@baseURL = http://localhost:8001/api/v1
|
||||
|
||||
###
|
||||
|
||||
GET {{baseURL}}
|
||||
|
||||
###
|
||||
|
||||
// Login as "client1"
|
||||
|
||||
POST {{baseURL}}/login
|
||||
Content-Type: application/json
|
||||
|
||||
{ "username": "client1", "password": "client1" }
|
||||
|
||||
###
|
||||
|
||||
// Login as "dev1"
|
||||
|
||||
POST {{baseURL}}/login
|
||||
Content-Type: application/json
|
||||
|
||||
{ "username": "dev1", "password": "dev1" }
|
||||
|
||||
###
|
||||
|
||||
// Logout
|
||||
|
||||
GET {{baseURL}}/logout
|
||||
Content-Type: application/json
|
||||
|
||||
###
|
||||
|
||||
// Get current user info
|
||||
|
||||
GET {{baseURL}}/me
|
||||
Content-Type: application/json
|
||||
|
||||
###
|
||||
|
||||
// List users
|
||||
|
||||
GET {{baseURL}}/users
|
||||
Content-Type: application/json
|
71
misc/projects/ticketing_app.md
Normal file
71
misc/projects/ticketing_app.md
Normal file
@ -0,0 +1,71 @@
|
||||
# Application de suivi des demandes client
|
||||
|
||||
## Objectif
|
||||
|
||||
Implémenter une application de suivi des demandes client proposant les fonctionnalités suivantes:
|
||||
|
||||
- Authentification par identifiant et mot de passe
|
||||
- Autorisation par rôles:
|
||||
- "client"
|
||||
- "développeur"
|
||||
- Interfaces pour le rôle "client":
|
||||
- Une interface de visualisation des projets qui lui sont associés
|
||||
- Une interface de création d'une nouvelle demande pour un projet donné
|
||||
- Une interface de visualisation des demandes en cours/cloturée pour un projet donné
|
||||
- Une interface de visualisation de détails d'une demande et des commentaires associés, avec possibilité d'ajouter un commentaire
|
||||
- Une interface de création d'une nouvelle demande pour un projet donné
|
||||
- Interfaces pour le rôle "développeur":
|
||||
- Une interface de création d'un nouveau projet
|
||||
- Une interface de création d'un nouveau compte client
|
||||
- Une interface de visualisation des clients (listing)
|
||||
- Une interface de visualisation des projets (listing)
|
||||
- Une interface de visualisation des dernières demandes ouvertes (multi-projet)
|
||||
- Une interface de visualisation de détails d'une demande et des commentaires associés, avec possibilité d'ajouter un commentaire et de changer l'état d'une demande
|
||||
|
||||
## Modèle de données
|
||||
|
||||
### User (`User`)
|
||||
|
||||
#### Attributs
|
||||
|
||||
- `id:int (unique)` Identifiant (clé primaire) de l'utilisateur
|
||||
- `username:string (unique)` Nom de l'utilisateur
|
||||
- `password:string` Mot de passe de l'utilisateur
|
||||
- `projects:[]Project` Projets associés à l'utilisateur
|
||||
|
||||
### Projet (`Project`)
|
||||
|
||||
#### Attributs
|
||||
|
||||
- `id:int (unique)` Identifiant (clé primaire) du projet
|
||||
- `name:string` Nom du projet
|
||||
- `users:[]User` Utilisateurs attachés au projet
|
||||
|
||||
### Demande (`Request`)
|
||||
|
||||
#### Attributs
|
||||
|
||||
- `id:int (unique)` Identifiant (clé primaire) de la demande
|
||||
- `title:string` Titre associé à la demande
|
||||
- `author:User` Auteur de la demande (clé étrangère)
|
||||
- `project:Project` Identifiant du projet associé (clé étrangère)
|
||||
- `status:RequestStatus` Identifiant du statut courant de la demande
|
||||
- `comments:[]Comment` Commentaire associé à la demande
|
||||
- `createdAt:Date` Date de la création du commentaire
|
||||
|
||||
### Statut de demande (`RequestStatus`)
|
||||
|
||||
#### Attributs
|
||||
|
||||
- `id:int (unique)` Identifiant (clé primaire) du statut de requête
|
||||
- `label:string` Label associé au statut
|
||||
|
||||
### Commentaire (`Comment`)
|
||||
|
||||
#### Attributs
|
||||
|
||||
- `id:int (unique)` Identifiant (clé primaire) du commentaires
|
||||
- `request:Request` Identifiant de la demande associé au commentaire (clé étrangère)
|
||||
- `text:string` Texte du commentaire
|
||||
- `createdAt:Date` Date de la création du commentaire
|
||||
- `author:User` Auteur du commentaire (clé étrangère)
|
BIN
misc/projects/ticketing_app.pdf
Normal file
BIN
misc/projects/ticketing_app.pdf
Normal file
Binary file not shown.
Reference in New Issue
Block a user