Skip to content
Yet another MV* TODO list.
JavaScript Python HTML
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
server
src
.babelrc
.editorconfig
.eslintrc.json
.gitignore
.pylintrc
LICENSE
README.md
USER_STORY.md
index.html
package-lock.json
package.json
requirements.txt
webpack.config.js

README.md

Ta-Da List

Yet another MV* TODO list.

The front-end is using React/Redux, and the back-end is using the Python Flask framework.

Prerequisites

Please make sure the following components have successfully installed on target machine:

  • Python 3.5
  • Node 8
  • NPM
  • Git

File Structure

Here are the main folders and files for this project.

App
 ├-server                     **Backend Flask server source files**
 │   ├-app.py                 **Server entry point**
 │   ├-data.json              **Data store file**
 │   └-data.json.template     **Data store initialize file**
 ├-src                        **Frontend source files**
 │   ├-actions
 │   ├-components
 │   ├-constants
 │   ├-containers
 │   ├-middleware             **Middleware to connect redux with flask**
 │   ├-reducers
 │   └-index.js               **Frontend entry point**
 ├-index.html                 **Template for main page**
 ├-package.json               **Nodejs package info & command for the App**
 ├-requirments.txt            **Python package file**
 └-webpack.config.js          **Webpack configuration to build front end**

Installation

Recommanded steps on MacOS

  1. Download the source code:
git clone https://github.com/NoahDragon/tada-list.git tada
  1. Install dependencies:
cd tada
pip install -r requirements.txt
npm install --no-optional
  1. Build:
npm run build # In win32, this command has tested in CMD terminal.
  1. Start the server:
npm run server # In win32, this command has tested in CMD terminal.

Test

  1. Run lint:
npm run lint

Only run python lint:

npm run lint-py # TODO: Fix the exception calling this command.

Only run javascript lint:

npm run lint-js
  1. Run test:
npm run test

Only run python test:

npm run test-py

Only run javascript test:

npm run test-js # TODO: Have NOT implemented.

TODO

  • Add create date and amend date
  • Clean up code for submission
  • Mouse over on items to display the amend date(if none, fall back to create date)
  • Pretty the UI
  • Fix the blink when mouse over todo item
  • Center all elements
  • Fix pytest issue
  • Implement javascript tests
  • Responsive
  • Drag to change order
  • Integrate with Travis-CI for testing
  • Delete item
  • Save lists based on user name
  • Able to modify the list (change text)
  • Error handling on corrupt data file
You can’t perform that action at this time.