This project is built on the basis of the Apollo server on the usual requests for the dove client. Interaction with the database is carried out through typeorm, so tables and variables are built on its basis. The data is in graphql format. Saving the photo was done through a regular request, since it was not possible to link the graffle-upload library with the apollo server, there was not enough information, and the library itself is not yet supported by the new version of apollo. In this project, there is a cascading deletion for some entities, there is also a check for authorization when receiving data, through a token. I didn’t implement checking and updating the token through refresh and access, since there was a task to make the client more. I took into account all the nuances when deleting photos or chats or contacts, for example, if a user deletes an account, it checks if he has photos and if there are, they are all deleted. There is also a check to confirm the account and if the account is not verified within 15 minutes, it will delete itself.
- @apollo/server
- bcrypt
- graphql
- body-parser
- express
- dotenv
- sharp
- nodemailer
- mysql2
- multer
- jsonwebtoken
- type-graphql
- typeorm
- npm run dev: run in development mode
- npm run build: assemble the project
- npm run start: run the built project