๐ง PsyHeart application API โค๏ธ
PsyHeart is a platform that allows you to schedule an online session with a psychologist.
๐ง * Keep your mind aligned with your heart! * โค๏ธ
Practical project for study
Access the repository of the web version of PsyHeart at: https://github.com/Silvio-Ronaldo/psyheart-web
Access the repository for the mobile version of PsyHeart at: https://github.com/Silvio-Ronaldo/psyheart-mobile
The PsyHeart API was developed by applying some of the most important concepts of backend development.
Specifically, it is a Rest API, responsible for managing business rules, receiving requests and returning data responses.
It was created using some development standards like S.O.L.I.D and Test Driven Development, the famous TDD. As a consequence of SOLID, I've also used dependency inversion to decouple services from ORM repositories and dependency injection with tsyringe, in addition to providers to implement the single responsibility principle.
To structure the files and directories in a compact way and provide easy navigation and maintenance, I used the principles of DDD (Domain Driven Design).
For security, the API uses JWT with BCryptJS hash. In ORM, I used TypeORM with node-postgres driver. For specific features of notifications and caching, I used mongodb and Redis, respectively. All run in a Docker container on the local machine.
The main tools used in the development of the project:
- Node.js
- TypeScript
- Express
- tsyringe
- Jest
- TypeORM
- Docker
- Node Postgres
- MongoDB
- Redis
- Amazon S3
- Celebrate
- class-tranformer
- Handlebars
- multer
- Nodemailer
- JWT
- Babel
- ESLint
- Prettier
Silvio Ronaldo ๐ |
Leave your star, fork the project or open a pull request โค๏ธ
Contact me on social networks:
PsyHeart API is MIT licensed, as found in the LICENSE file.