Coder Social home page Coder Social logo

irenaeus-xvi / saraha-app Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 57 KB

SARAHA-APP is a backend application for user management and authentication. It's built using Node.js, Express.js, and MongoDB.

JavaScript 100.00%
authentication bcrypt dotenv expressjs js jsonwebtoken mongodb mongoose nodejs nodemailer global-error-handling joi-validation

saraha-app's Introduction

SARAHA-APP

SARAHA-APP is a backend application for user management and authentication. It's built using Node.js, Express.js, and MongoDB.

Getting Started

To get started with the SARAHA-APP backend, follow these steps:

  1. Clone the repository:

    git clone https://github.com/Irenaeus-XVI/SARAHA-APP.git
  2. Install dependencies:

    cd SARAHA-APP
    npm install
  3. Set up environment variables:

    Create a .env file in the root directory and add the necessary environment variables. You can use the provided .env.example as a template.

  4. Start the server:

    npm start

The server will start and listen on a specified port (default: 3000). You can access the API using tools like Postman or integrate it with your frontend application.

Configuration

In the .env file, you need to provide values for the following environment variables:

  • SALT_ROUNDS: Number of salt rounds for bcrypt hashing.
  • SECRET_KEY: Secret key for generating JWT tokens.
  • EMAIL: Email credentials for sending emails.
  • PASSWORD: Password for the email account.
  • VERIFY_SECRET: Secret key for email verification tokens.
  • MODE: Application mode (dev, prod, etc.).

Endpoints

  • POST /api/v1/user/signup: Register a new user.
  • POST /api/v1/user/signin: Log in a user.
  • GET /api/v1/user/verify/:token: Verify user email.
  • POST /api/v1/messages/add: Add a new message.
  • GET /api/v1/messages: Get all messages.

Global Error Handling and Status Codes

The application employs global error handling to ensure consistent error responses. HTTP status codes are utilized to indicate the nature of errors:

  • 404: Resource not found.
  • 400: Bad request - when the request is malformed or invalid.
  • 409: Conflict - when there is a conflict with the current state of the server (e.g., attempting to create a resource that already exists).
  • 500: Server error.

This approach helps maintain a standardized response format and enhances the user experience by providing meaningful error messages and appropriate HTTP status codes.

Contributing

Contributions are welcome! If you find a bug or have a suggestion, feel free to open an issue or create a pull request.

License

This project is licensed under the MIT License.

saraha-app's People

Contributors

irenaeus-xvi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.