# TicketManager

## Software Requirement System

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

## API Documentation

### v1

- [Documentation](https://bugbuster.azurewebsites.net/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: Microsoft Azure
- 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
- [x] write dtos without circular dependencies.
- [ ] use dtoRequest for PutProjects
- [ ] render avatarlist after UserModal Update
- [x] Form validators
- [x] API deployed to Azure
- [x] Front-end deployment: build first then use ssh …
- [x] Azure
- [ ] Refactor TabPanels code
- [ ] Refactor Lists code
- [ ] Query project members in UserPage
- [ ] Query progression info in UserPage
- [x] Add info fields in New Ticket Form
- [ ] Filter users in Users Modal
- [ ] EditForms for Project and Ticket
- [ ] Admin Page
- [x] Use auth0 user info to create appUser account
