- This is the backend that I worked on along with my graduation project that I worked on it for 4 months, and It gives 98/100 considered the best graduations projects from.
- It is the backend that serve my Herafi UWP client application(admin application) and my friends' android applications(user and craftman applications), which contains on Restfull APIs that consumed by these apps.
- You can see my Herafi UWP client application (Admin app) from here.
- Android Craftman application from here.
- Routing.
- Connecting to MySQL DB.
- Sending emails.
- High level security.
- Uploading files.
- Logging.
- hcaptcha.
- Braintree payment.
- Prettier.
- Eslint.
- Making routing system that help me to create Restfull APIs and make the work more organized. In this project there is 3 main routings (admin, user, craftman) for 3 apps (UWP app for admin and 2 Android apps for user and craftman).
- Connection to MySQL databse that created using
PhpMyAdmin
and Initialize the connection to MySQL DBMS using XAMP control panel. - Sending emails using
nodemailer
library to verify the identity of user when he makes an account. - This project accomplich the highiest security level By using these Techniques:
- Encryption/Decryption data that sended/received between server and client using
AES-128-cbc
alghorithm. - Verify the requests that are from signed account not from any user and I achieved this using
JWT
tech that is signed withRSA256
Encryption alghorithm. - To verify the token is sended from the right server, I decode token to have sercret keyword and check this sercret keyword if it's equal to the stored secret keyword in my UWP application or not.
- All secret key and configuration are implemented inside
.env
file (usingdotenv
lib). - Encrypting all password using
hash
alghorithm (usingbcryptjs
lib), so even if hacker hacked the DB and get the passwords of emails he can't read the actual passwords. - Using all the required libs for security:
helmet, hpp, hsts, xss-clean, sql-injection, tor-detect-middleware, jsonwebtoken
. - Android apps secured from spam and abues attacks by hcaptcha
- Encryption/Decryption data that sended/received between server and client using
- The users of these 3 applications can upload there images and files using
multer
. - Every app connected to this backend have his own logs and we can see what is the API is called and what is the response that get it, I have used
winston
andmorgan
. Braintree
used for implementing the payments methods.- The code automatically organzied by
Prettier
and written withEslint
rules.
To see all dependencies you can go there.
- Code formatting: Prettier, Eslint.
- Middleware: express, cors.
- Security: helmet, hpp, hsts, xss-clean, sql-injection, tor-detect-middleware, dotenv, bcryptjs, jsonwebtoken.
- Logging: winston, morgan.
- Helpers: moment, mysql2, nodemailer, multer, nodemon.
[version 1.0.0]: Contains all features that descriped above.
This project no longer being worked on
but the contributions are still welcome.