Wolkendama-API / README.md
README.md
Raw

Wolkendama API

This is the backend server for Wolkendama website (https://www.wolkendama.com). It's main purpose is to send data to wolkendama website, read and write database, send email and payment integration for customer. Currently Wolkendama is created and maintained only by myself.

The server is mainly written by NodeJs and integrates with the following 3rd parties service:

  • Stripe : To setup payments for customer and used webhook to update the customer database.
  • MongoDB : Databse for shop item and customer who has purchased the product.
  • SendInBlue : To send email once the purchased has been made and goods is delivered.
  • Cloudinary : To store images for shop products.
  • CertBot : To obtain HTTPS certification.
  • Oracle VPS : To host server.

Tech stack used

TechStack Description
bcrypt Encrypt admin password to be stored in database
cloudinary Cloudinary APIs for shop image
compression Compress HTTP request
cookie-parser Parse cookie data sent by frontend
cors Setup for cross origin resource sharing
express Create server and routing
express-rate-limit Set rate limit for each IP per route
helmet Secure apps by setting various HTTP headers
jsonwebtoken Used json web token for log in credentials
mongoose Used for create model for MongoDB
multer Middleware for uploading shop photos
sib-api-v3-sdk SendInBlue APIs for sending email templates
stripe Stripe APIs for handling payment gateway and webhook
forever Ensuring that server runs continuously and auto restart
speakeasy Create 2 factor authenticator for extra security
xss-clean Prevent cross site scripting attack