Skip to content

REST API for my Gatsby talk about building static & dynamic apps with Gatsby

Notifications You must be signed in to change notification settings

smakosh/not-todo-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Not Todo REST API for my Gatsby talk

Gatsby Talk Gatsby App

Prerequisites

  • Node Js
  • MongoDB Installed

Please create a new file .env and put these env variables

DB=mongodb://localhost:27017/todo
SECRET_KEY=NSA
REACT_APP_URL=http://localhost:8000 // when cors is enabled, this will be the only origin to send requests

Installing

Installing the dependencies

npm i

Start your mongodb database

npm run database

Start the dev server

npm run dev

Models

User:

  • username
  • email
  • password
  • tokens

Post:

  • title
  • isDone
  • date
  • _creator

Routes

  • 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
  • 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

Built with

  • Express Js
  • MongoDB & Mongoose
  • And these useful of JavaScript libraries package.json

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Support

If you love this Gatsby template and want to support me, you can do so through my Patreon

Support me on Patreon

About

REST API for my Gatsby talk about building static & dynamic apps with Gatsby

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published