The backend of a social network.
LaBook is a back-end development of an imaginary social network. It is an activity result of Labenu's full-stack development course. This back-end project consists of an API constructed with Typescript and MySQL languages, using layered architecture and using NodeJS as development environment, Express as NodeJS framework for API construction and communicating with Database through Knex's query builder.
POSTMAN DOCUMENTATION: https://documenter.getpostman.com/view/19297915/UyxdL9TV
The back-end performs the following functions:
SignUp and Login of users through token authentication (both access and refresh token) ✔️
Unilateral friendship interaction ✔️
Feed requisition returning only friend's posts or posts filtered by posts types ✔️
Feed pagination ✔️
Posting of texts and url based pictures requisition ✔️
Comment requisition ✔️
🔶 Typescript
🔶 NodeJs
🔶 Express
🔶 MySql
npm install
Execute the application in development mode:
npm run dev
This code was designed concerned with clean code, TS best practices and Model-View-Controller (MVC) design pattern. The source folder is devided in:
🔷 controller layer: folder containing Typescript files responsible for receiving requisitions data and directing them to the necessary layers;
🔷 business layer: folder containing Typescript files responsible for validations and the communication with the data layer;
🔷 data layer: folder containing Typescript files responsible for communicating with the Database through queries;
🔷 model layer: folder containing interfaces for a better and more secure data processing;
🔷 services layer: folder containing data processing (token generator, id generator and so on);
People who built and maintain the project:
|
Fillipe Dias |
