Skip to content

piyusharmap/slashNotes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Notes

Project Highlights

    Tech Stack:-

  • Node.js
  • Express.js
  • Mongoose
  • Mongodb
  • JWT
  • Error Handling

About Project

This project is designed to server the backend functionalities for a note taking application using Node.js. It is suitable for Web apps, Mobile apps and Api services.

About Author

I Piyush Sharma have create this project as a part of MLH prep and fellowship program. I've experience with both backend and full stack developement but don't have experience working in the industry. Through this program I want to learn and enhance my developemt skills.

Project Instructions

I designed this project using Node.js. The main focus is to create a maintainable application with proper error handling.
Following are the project details and instructions:-

  • The backend is written in javascript. The framework used in backend (Express). Express is a Node.js back-end web application framework, also known as Express.js. It has many features that make developing web applications easier and faster than using Node.js
  • Centralised Error handling: I have created a framework where all the errors are handled centrally. This reduces the ambiguity in the development when the project grows larger.
  • Mongodb is used through Mongoose: Mongodb fits very well to the node.js application. Being NoSQL, fast, and scalable makes it ideal for modern web applications.
  • A pure backend project: I have experienced that when a backend is developed clubbed with a frontend then in the future it becomes really difficult to scale. We would want to create a separate backend project that servers many websites and mobile apps.

Architecture

3-tier Architecture: A 3-tier architecture is a web app architecture that is widely used around the world. It basically contains 3 tiers: Client, Server, and Database
The Business Logic Tier (Controller) is written using NodeJs and ExpressJS, and this tier represents the Application Server that will act as a bridge of communication for the Client Tier and Database Tier. This tier will serve HTML pages to the user’s device and accept HTTP requests from the user and follow with the appropriate response.
THe Database Tier (Model) will be hosting MongoDB. This is where we will store all of the crucial data our application needs to function.

Run this project

Postman:-

Run in Postman

API examples

  • Login
  • Method and Headers
      POST /slashNotes/user/login
      Host: localhost:4000
    

    Request Body
      {
          "username": "",
          "password": ""
      }
    
  • Forgot Password
  • Method and Headers
      POST /slashNotes/user/password/forgot
      Host: localhost:4000
    

    Request Body
      {
          "email": ""
      }
    
  • Create Note
  • Method and Headers
      POST /slashNotes/notes/new
      Host: localhost:4000
    

    Request Body
      {
          "title": "",
          "content": "",
          "category": ""
      }
    
  • Update Note
  • Method and Headers
      PUT /slashNotes/notes/:id
      Host: localhost:4000
    

    Request Body
      {
          "title": "",
          "content": "",
          "category": ""
      }
    
  • Remove Note
  • Method and Headers
      DEL /slashNotes/notes/:id
      Host: localhost:4000
    

    Request Body
      {
          
      }
    

Releases

No releases published

Packages

No packages published