# API Projects # Sanazoo [GitHub repo](https://github.com/Nouuu/SanaZoo-API)  SanaZoo is a very popular zoo ! First created in C with XML files, it is now developed with nodejs and swagger, for your eyes only ## Our project In this school project, we have to realize a complete API to manage a zoo, using Express and Sequelize as a base. This project has been tested and integrated both on heroku, but also thanks to docker whose image is detailed below Project Syllabus : [Syllabus.pdf](https://wiki2.nospy.fr/attachments/1) ### Gantt chart This project was carried out using a gantt chart : [](https://wiki2.nospy.fr/uploads/images/gallery/2022-05/image-20210424163444370.png) ### Data model used for DB Here is our DB model used for this project : [](https://wiki2.nospy.fr/uploads/images/gallery/2022-05/planode-zoo.png) ### Contributions
[Noé LARRIEU-LACOSTE](https://github.com/Nouuu) | []((https://github.com/Nouuu)) |
[Swann HERRERA](https://github.com/SwannHERRERA) | [](https://github.com/SwannHERRERA) |
[Clément BOSSARD](https://github.com/Huriumari) | [](https://github.com/Huriumari) |
Environment variable | Default | Description |
---|---|---|
PORT | 3000 | Express listen port |
DB\_DRIVER | mysql | Driver for sql connection for sequelize |
DB\_HOST | localhost | Host domain / IP for DB |
DB\_NAME | zoo | DB Schema name |
DB\_USER | zoo | DB user |
DB\_PASSWORD | `empty` | DB password |
Dependency | Version | Description |
---|---|---|
Express |  | Web API Framework |
Date FNS |  | Useful librairies to manipulates dates |
Dotenv |  | Used to load `.env` file |
Argon2 |  | Used to encrupt users password |
Mysql2 |  | DB driver |
Sequelize |  | Orm librairies to bind class to DB entities |
Swagger-jsdoc |  | Used to implements swagger page |
Swagger-ui-express |  | Used to implements swagger page |
Yup |  | Form validation library used to validate data in post body of our requests |
Typescript |  | Very useful to use types in JS based framework |
[](https://github.com/Nouuu/AL-TradeMe) |
---|
Main status | [](https://sonar.nospy.fr/dashboard?id=Nouuu_AL-TradeMe) | [](https://sonar.nospy.fr/dashboard?id=Nouuu_AL-TradeMe&branch=main) | [](https://sonar.nospy.fr/dashboard?id=Nouuu_AL-TradeMe&branch=main) | [](https://sonar.nospy.fr/dashboard?id=Nouuu_AL-TradeMe&branch=main) | [](https://sonar.nospy.fr/dashboard?id=Nouuu_AL-TradeMe&branch=main) |
---|---|---|---|---|---|
[](https://sonar.nospy.fr/dashboard?id=Nouuu_AL-TradeMe&branch=main) | [](https://sonar.nospy.fr/dashboard?id=Nouuu_AL-TradeMe&branch=main) | [](https://sonar.nospy.fr/dashboard?id=Nouuu_AL-TradeMe&branch=main) | |||
[](https://sonar.nospy.fr/dashboard?id=Nouuu_AL-TradeMe&branch=main) |
Dev status | [](https://sonar.nospy.fr/dashboard?id=Nouuu_AL-TradeMe&branch=dev) | [](https://sonar.nospy.fr/dashboard?id=Nouuu_AL-TradeMe&branch=dev) | [](https://sonar.nospy.fr/dashboard?id=Nouuu_AL-TradeMe&branch=dev) | [](https://sonar.nospy.fr/dashboard?id=Nouuu_AL-TradeMe&branch=dev) | [](https://sonar.nospy.fr/dashboard?id=Nouuu_AL-TradeMe&branch=dev) |
---|---|---|---|---|---|
[](https://sonar.nospy.fr/dashboard?id=Nouuu_AL-TradeMe&branch=dev) | [](https://sonar.nospy.fr/dashboard?id=Nouuu_AL-TradeMe&branch=dev) | [](https://sonar.nospy.fr/dashboard?id=Nouuu_AL-TradeMe&branch=dev) | |||
[](https://sonar.nospy.fr/dashboard?id=Nouuu_AL-TradeMe&branch=dev) |
[](https://wiki2.nospy.fr/uploads/images/gallery/2022-05/image-20220305153731926.png) | [](https://wiki2.nospy.fr/uploads/images/gallery/2022-05/eventconfiguration.png) |
---|
Branche DEV | Branch MAIN |
---|---|
[](https://codecov.io/gh/Nouuu/AL-TradeMe) | [](https://codecov.io/gh/Nouuu/AL-TradeMe) |
 |  |
[](https://sonar.nospy.fr/dashboard?id=Nouuu_Boissibook&branch=dev) | [](https://sonar.nospy.fr/dashboard?id=Nouuu_Boissibook&branch=dev) | [](https://sonar.nospy.fr/dashboard?id=Nouuu_Boissibook&branch=dev) | [](https://sonar.nospy.fr/dashboard?id=Nouuu_Boissibook&branch=dev) | [](https://sonar.nospy.fr/dashboard?id=Nouuu_Boissibook&branch=dev) | [](https://sonar.nospy.fr/dashboard?id=Nouuu_Boissibook&branch=dev) | [](https://sonar.nospy.fr/dashboard?id=Nouuu_Boissibook&branch=dev) |
---|
[](https://wiki.nospy.fr/uploads/images/gallery/2022-10/readme-1658842903759.png) | [](https://wiki.nospy.fr/uploads/images/gallery/2022-10/readme-1658843850902.png) |
---|---|
[](https://wiki.nospy.fr/uploads/images/gallery/2022-10/readme-1658843859147.png) | [](https://wiki.nospy.fr/uploads/images/gallery/2022-10/readme-1658843868080.png) |
Couches | Couche Applicative |
---|---|
[](https://wiki.nospy.fr/uploads/images/gallery/2022-10/readme-1658825410490.png) | [](https://wiki.nospy.fr/uploads/images/gallery/2022-10/readme-1658825959474.png) |