8000 GitHub - nitinmadelyn/todo-app: Todo App. NodeJS + ReactJS
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

nitinmadelyn/todo-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

To Do

This web application is a simple application to manage a list of things to do.

Features

  1. Sortable Task - User can drag & drop to sort todo
  2. Due Date - User can add due date to any todo and also filter with them
  3. Infitite Scroll - User can add many todo as they want, initially 20 todos will be loaded and as user scroll to the end of the list more 20 will be leaded till all displayed.

1. Sortable Tasks

  • User can sort any todo at any places.

  • React library used: react-sortable-hoc

  • Test cases

    • To run test execute command npm test in frontend folder. Once cypress window open then click on the file sorttodos.spec.js

sorting-todo

2. Due Date

  • User can add due date to any todo, with filter option.

  • React library used: @material-ui/pickers, @date-io/date-fns, date-fns

  • Test cases

    • To run test execute command npm test in frontend folder. Once cypress window open then click on the file addtodos.spec.js

add-due-date

3. Infinite Scroll

  • This app supports infinite scroll, user can add as many todos as they want.

  • Initially app will load 20 todos, once user scroll down to the end it will load next 20 todos till all todos loaded.

  • React library used: react-infinite-scroll-component

  • Test cases

    • To run test execute command npm test in frontend folder. Once cypress window open then click on the file infinitescroll.spec.js

infinite-scroll

Infrastructure

This applications consists of two parts:

  1. Frontend: Single Page Application built with: React and Material.
  2. Backend: HTTP REST API built with Node.js, Express and MongoDB.

How to run app

Frontend

to start the application open the terminal/command line go to frontend folder and execute npm install then :

npm start

once the app is running you can open: http://localhost:3000 on your browser.

Backend

Open ./backend/src/config/config.js file and replace MongoDB connection string in dbConnectString variable.

To run the api open the terminal/command line go to backend folder and execute npm install then:

npm start

How to run tests

Frontend

Make sure frontend(react) is running.
npm test

Backend

Make sure backend server(nodejs) is not running.
npm test

Additional Tasks

  • Frontend: Refactor initial code, converted all section in to parent-child components. Added ErrorBoundry class to catch all run time error and log them into logs collection into database.
  • Backend: Refactor initial code, converted apis routes for todo & log with catching run time error and log them into logs collection into database.

About

Todo App. NodeJS + ReactJS

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0