All Projects → smallpaes → todo-list

smallpaes / todo-list

Licence: other
A practical web application built with Node.js, Express, and MySQL for you to readily record, view, and manage your tasks with an account: Create, view, edit, delete, filter, and sort expenses are as easy as pie 🥧

Programming Languages

CSS
56736 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to todo-list

express-crud-router
Simply expose resource CRUD (Create Read Update Delete) routes for Express & Sequelize. Compatible with React Admin Simple Rest Data Provider
Stars: ✭ 109 (+505.56%)
Mutual labels:  crud, expressjs, sequelize
Express Sequelize Crud
Simply expose resource CRUD (Create Read Update Delete) routes for Express & Sequelize. Compatible with React Admin Simple Rest Data Provider
Stars: ✭ 65 (+261.11%)
Mutual labels:  crud, expressjs, sequelize
Mern Stack Authentication
Secure MERN Stack CRUD Web Application using Passport.js Authentication
Stars: ✭ 60 (+233.33%)
Mutual labels:  crud, expressjs, passportjs
mern-stack-crud
MERN stack (MongoDB, Express, React and Node.js) create read update and delete (CRUD) web application example
Stars: ✭ 142 (+688.89%)
Mutual labels:  crud, expressjs
mongo-crud
CRUD API built with MongoDB and Express
Stars: ✭ 18 (+0%)
Mutual labels:  crud, expressjs
node-express-mongodb-reactjs-graphql
Node, Express, React.js, Graphql and MongoDB CRUD Web Application
Stars: ✭ 36 (+100%)
Mutual labels:  crud, expressjs
passport-magic
Magic is a Passport.js strategy that enables passwordless authentication middleware for any Express.js based application.
Stars: ✭ 35 (+94.44%)
Mutual labels:  expressjs, passportjs
chanyeong
👨‍💻 chanyeong's portfolio and blog webpage
Stars: ✭ 39 (+116.67%)
Mutual labels:  sequelize, passportjs
api
_api is an autogenerated CRUD API built on LowDB and ExpressJS.
Stars: ✭ 73 (+305.56%)
Mutual labels:  crud, expressjs
Tasky
Tasky is a task management app made with SwiftUI.
Stars: ✭ 22 (+22.22%)
Mutual labels:  todo, todolist
Streak-Tasks
Streak Tasks Habit Tracker
Stars: ✭ 27 (+50%)
Mutual labels:  todo, todolist
Nickel
Micro tasks manager written in pure Python
Stars: ✭ 18 (+0%)
Mutual labels:  todo, todolist
ugly-todo
Just an Ugly To-Do app that I wanted to develop.
Stars: ✭ 35 (+94.44%)
Mutual labels:  todo, todolist
To-Do App
A Simple To-Do App With Js
Stars: ✭ 21 (+16.67%)
Mutual labels:  todo, todolist
MovieGo
A Website implemented using MERN (MongoDB, ExpressJS, ReactJS and NodeJS) stack, which allows users to sign-in/register and book movie tickets online.
Stars: ✭ 26 (+44.44%)
Mutual labels:  expressjs, passportjs
Todo-List
✔️ Create to-do lists to easily manage your ideas and work.
Stars: ✭ 30 (+66.67%)
Mutual labels:  todo, todolist
tdls
command-line Todo-list & Tech-blogging Service
Stars: ✭ 19 (+5.56%)
Mutual labels:  todo, todolist
nodejs-simple-restfull-with-express
⚡ ExpressJS Rest API Sample
Stars: ✭ 19 (+5.56%)
Mutual labels:  crud, expressjs
TypeScript-in-Nodejs-Starter
A starter kit for Node.js project written with TypeScript.
Stars: ✭ 39 (+116.67%)
Mutual labels:  sequelize, express-validator
mesan-nodejs-auth-crud-api
NodeJS Authentication and CRUD operations API -: Email Verification, Image Upload, Password Reset
Stars: ✭ 72 (+300%)
Mutual labels:  crud, passportjs

Todo List 📆

A practical web application built with Node.js, Express, and MySQL for you to readily record, view, and manage your tasks with an account: Create, view, edit, delete, filter, and sort todos are as easy as pie 🥧

Trial in this project 🤠

To increase user experience

  • Animate.css is used to show animation for certain actions

To enhance security


Project First Look

Application Screen Shot in GIF

Features

Functions Detail URL
Sign up for an account 1. User can sign up an account by inputting name, email, password
2. User can get a warning message for invalid input format
/users/register
Log in with email 1. User can log in using registered email
2. User can get a warning message for incorrect password or unregistered account
/users/login
Log in with Facebook account User can log in via Facebook with a Facebook account /auth/facebook
Log out 1. User can log out of an account
2. User can get a reminder for successful logout
/users/logout
View all todos 1. User can view todos list with name, due date and status after login
2. User can get an error message when no todo to display after login
/
View a todo User can view name, due date, status, and detail of a todo after login /todos/view/:id
Create a todo 1. User can add a todo with detail after login
2. User can get a warning message for invalid input format
/todos/new
Edit a todo User can update detail info of a todo after login /todos/edit/:id
Delete a todo 1. User can delete a todo after login
2. User can receive a warning message before actual delete
/todos/delete/:id
Filter todos User can filter todos based on status and due date /search
Sort todos User can sort todos based on status, due date, or name /search
Page not found User can get an error message when travelling to a page not existing /:any_other_URL

Installation

The following instructions will get you a copy of the project and all the setting needed to run it on your local machine.

Prerequisites

Clone

Clone this repository to your local machine

$ git clone https://github.com/smallpaes/todo-list.git

Setup Datebase

Create and use todo-sequelize database via MySQL Workbench

Run the following code

drop database if exists todo_sequelize;
create database todo_sequelize;
use todo_sequelize;

Setup App

1. Create a Facebook account

2. Create a Facebook App and get the App ID & Secret

My Apps -> Create App -> Scenario: Integrate Facebook Login -> Settings -> Basic

3. Enter the project folder

$ cd todo-list

4. Install packages via npm

$ npm install

5. Create .env file

$ touch .env

6. Store API Key in .env file and save

FACEBOOK_ID=<YOUR_FACEBOOK_APP_ID>
FACEBOOK_SECRET=<YOUR_FACEBOOK_APP_SECRET>
FACEBOOK_CALLBACK=<YOUR_FACEBOOK_REDIRECT_URI>

7. Edit password in config.json file

/config/config.json

"development": {
  "username": "root",
  "password": "<YOUR_WORKBENCH_PASSWORD>",
  "database": "todo_sequelize",
  "host": "127.0.0.1",
  "dialect": "mysql",
  "operatorsAliases": false
}

8. Create models

run the following code in the console

$ npx sequelize db:migrate

9. Activate the server

$ npm run dev

10. Find the message for successful activation

> App is running on port 3000!

You may visit the application on browser with the URL: http://localhost:3000


Authors

Mike Huang

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].