Boilerplate of a RESTful API
Switch branches/tags
Nothing to show
Clone or download


npm i

Before running anything locally, create a .env file and initialize your env variable like so:

REACT_APP_URL=http://localhost:3000 // when cors is enabled, this will be the only origin to send requests

PS: if you're deploying to a VPS/VPC u should have another .env.production file and add some logic to handle that on the ./config/config.js file.

Start the db locally

npm run database

PS: replace mongo-data with the name of the folder your data is stored.

start dev server

npm run dev

start prod server

npm start



  • firstName
  • lastName
  • username
  • email
  • password
  • tokens


  • user
  • type
  • handle
  • date


  • title
  • description
  • date
  • _creator


  • User

      POST /api/user/register
      // Register a new user and returns user data with the generated token
      // Public
      POST /api/user/login
      // Login user and returns user data with the generated token
      // Public
      GET /api/user/verify
      // Verifies token and returns current user data
      // Private
      DELETE /api/user/logout
      // Logout
      // Private
  • Profile

      GET /api/profile
      // GET current user profile
      // Private
      POST /api/profile
      // create or Edit user profile
      // Private
      DELETE /api/profile
      // Delete user and profile
      // Private
      GET /api/profile/all // Not available yet
      // Get all profiles
      GET /api/profile/handle/:handle // Not available yet
      // Get profile by handle
  • Post

      POST /api/post
      // Create a new post
      // Private
      GET /api/post/all
      // Get all the posts
      GET /api/post/:id
      // Get Post by ID
      // Private
      DELETE /api/post/:id
      // Delete Post by ID
      // Private
      PATCH /api/post/:id
      // Update a post
      // Private