Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/st10185940/swiftpay

POE Project for APDS7311 titled: "SwiftPay" by ST10185940 - M.Sithole
https://github.com/st10185940/swiftpay

api-rest mern-stack security-tools server-side

Last synced: about 1 month ago
JSON representation

POE Project for APDS7311 titled: "SwiftPay" by ST10185940 - M.Sithole

Awesome Lists containing this project

README

        

# SwiftPay Server

This server-side implementation is part of a POE Project for APDS7311, specifically designed for "SwiftPay", a secure and efficient payment processing platform. It leverages Node.js, Express.js, and MongoDB for seamless database operations.

## Key Features

* User registration with validation for name, ID number, account number, username, and password
* Secure password storage using Argon2
* Hashing and field-level encryption used to protect sensitive data
* Token-based authentication using JSON Web Tokens (JWT)
* Rate limiting and IP blocking for security against brute-force attacks
* Support for HTTPS encryption
* CORS enabled for cross-origin requests
* Helmet for security headers
* Express SSLify for HTTPS redirection

## API Endpoints

* `/customer/*`: Handles customer registration and logins
* `/transaction/*`: Handles transaction-related operations
* `/bankEmp/*`: Handles bank employee operations

## Technologies Used

* Node.js
* Express.js
* MongoDB
* Argon2id
* AES-256-CBC
* JSON Web Tokens (JWT)
* Express Brute
* Helmet
* Express SSLify
* CORS
* HTTPS
* SSL Certificate
* dotenv
* express-rate-limit
* express-slow-down
* mongoose
* nodemon
* validator

## Setup and Running the SwiftPay Server

To set up and run the SwiftPay server, follow these steps:

1. **Clone the Repository**: Clone the SwiftPay server repository from GitHub or your preferred version control system to a local directory on your machine.
2. **Install Dependencies**: Navigate to the cloned repository directory and run `npm install` to install all the required dependencies specified in the `package.json` file.
3. **Start the Server**: Once the dependencies are installed, start the server by running `node server.mjs` in your terminal or command prompt.
4. **Server URL**: The SwiftPay server will now be running on `https://localhost:3001`.
5. **SSL Certificate**: Ensure that the SSL certificates are properly configured and trusted by your system.
6. **Environment Variables**: Set the required environment variables, such as `JWT_SECRET`, before running the server in production.
7. **Database Connection**: Ensure that MongoDB is installed and running on your system. Configure the MongoDB connection settings in the server code to match your MongoDB setup.
8. **Troubleshooting**: Refer to the server logs for error messages and debugging information if you encounter any issues during setup or runtime.