Skip to content
Todoify Server, a simple to-do with categories, REST API built with NodeJS, Express, JWT, and Mongoose.
JavaScript
Branch: devlopment
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config added env variables for email settings and added reset password route. Aug 1, 2019
controllers fixed some text typos Aug 4, 2019
database
graphics
mail
middlewares
models Added account activation when new user registers. Activation link is … Aug 1, 2019
routes Added resendActivationCode feature. Aug 4, 2019
.env.example
.eslintrc.json
.gitignore
LICENSE Initial commit. See README.md for more info. Jun 3, 2019
README.md changed links to codeiolo.org. Aug 21, 2019
index.js
package-lock.json
package.json Bumped version 1.0.1 Aug 4, 2019
pm2.config.js

README.md

todoify iconTodoify Server

Intro

Todoify Server, a simple to-do with categories, REST API built with NodeJS, Express, JWT, and Mongoose. Authenticated users can only get and manipulate categories and to-do's that matches the authenticated user.

If you want to use our public API to build your own front-end Check our API documentation on postman for endpoint descriptions.

Stay tuned for updates in a near future! :D

Features

  • User
    • Registration
    • Account activation
    • Authentication (login)
    • Get user info
    • Update user
    • Delete user
    • Logout (disable all refresh tokens.)
    • Refresh Token
    • Reset password
  • Categories
    • Create new
    • Get all
    • Get one by id
    • Update by id
    • Delete by id
  • To-do's
    • Create new
    • Get all
    • Get one by id
    • Update by id
    • Delete by id

Check wiki for change log and more information.

We also have have a separate Todoify client built with VueJS. It's also open source and interacts with Todoify server. Try out Todoify Client live at todoify.codeiolo.org

Requirements

Make sure you have PM2 installed globally

npm install pm2 -g

Install

Start off by downloading Todoify Server

git clone https://github.com/luxwarp/todoify-server.git

cd in to your todoify-server folder and copy .env.example to .env

cp .env.example .env

edit your new .env file and change all information to match your own settings

nano .env

save .env file and then install dependencies

npm install

Make sure you have PM2 installed globally

npm install pm2 -g

To start Todoify server in development mode

npm run dev

To start Todoify server in production mode

npm run production

You should now see in your console that Todoify server is running. Todoify server runs with help of PM2 so if the server crashes while running it restarts automatically, both in development and production mode.

If you don't want to start Todoify server with PM2 you can run

npm run single-start

or just

node ./index.js

If Todoify server loses connection to your MongoDB server it will try to reconnect every 5 second until you kill the Todoify server manually or it gets connected again.

By default Todoify server does not use HTTPS, the easiest way to get your connection encrypted is by using a web server like Nginx or Apache and proxy your traffic from your domain via SSL and down to Todoify server that runs on it's own port.

License

ISC © 2019 Copyright Mikael Luxwarp Carlsson

Note

Feel free to contribute the way you want.

You can’t perform that action at this time.