# TicketManager

## Software Requirement System

- [Follow the link](https://docs.google.com/presentation/d/1Gunf5MRJ_KcoFwo0x_vV8YVHnf9l0V8n7BiJGz6p4cI/edit?usp=sharing)

## API Documentation

### v1

- [Internal Link. Don't forget to update](https://localhost:5001/api/v1/)

## Features

## Supports

- Web
- Progressive Web App
- Mobile

## Technical Stack

- `React` client on the front-end (TypeScript)
- [Materialize](https://materializecss.com) CSS librairy for styling
- Hosting: ?
- Authentication : [Auth0](https://auth0.com/)
- Analytics : Google Analytics & Mixpanel

## Versions

### Features in v.0.1

## TO DO

- [ ] Write API tests using Postman: request + test, environment variables, mock server
- [ ] Annotate API request in controllers
- [ ] Annotate Properties in Models
- [ ] Write backend tests
- [ ] Have a Look at typeahead component
- [ ] Ensure Tickets Edits belong to Project Edits
- [ ] Ensure Tickets Files belong to Project Files
- [ ] Async model methods ?
- [ ] update assignments automatically from context
- [ ] use PATCH instead of PUT
- [ ] logging
- [ ] check useRef, useReducer, dispatch
- [ ] error page redirect when offline.
- [x] ticket/files/activities list placeholders when empty
- [ ] think about public/private DTO's constructor, getters and setters
- [<span style="color:red">x</span>] write dtos without circular dependencies.
- [ ] use dtoRequest for PutProjects
- [ ] render avatarlist after UserModal Update
- [x] Form validators
- [ ] Azure
