Skip to content

Latest commit

 

History

History
70 lines (57 loc) · 3.52 KB

README.md

File metadata and controls

70 lines (57 loc) · 3.52 KB

WeDo

WeDo task manager web application made using Python and Javascript

Description

WeDo is a unique productivity manager than can help keep track of your tasks.

Wedo is meant for users who want to better manage their time and be more productive. It goes the extra mile by reminding users when a task is due so that users do not always have to be logged in to be reminded of a certain deadline. WeDo also offers a calendar view to organize tasks and plan a schedule.

Installation

  • Install project dependencies mentioned in requirements.txt.
  • Make migrations python3 manage.py makemigrations
  • Apply migrations python3 manage.py migrate
  • Create superuser with python3 manage.py createsuperuser. This step is optional.
  • python3 manage.py runserver
  • Go to website address and register an account.

Files and Directories

  • tasks - main application directory
    • static/tasks - contains static content
      • styles.css - contains the css for the app
      • front.js - contains the full front end javascript code
    • templates - contains html templates for individual web pages
      • calendar.html - calendar view template
      • index.html - index view
      • layout.html - main layout for the app
      • login.html - login page for existing users
      • register.html - register page for new users
    • admin.py - register models in admin site
    • models.py - create and define models
      • Task - stores tasks created by user
      • User - user of the app
      • Folder - allows organizing tasks into folders
    • utils.py - class calendar for the calendar view
    • urls.py - contains URLS and API links
    • views.py - contains functions called by the API and functions that render templates
  • wedo - project directory
  • media - contains the logo for the app

Feature List

  1. Create task
  2. Edit task
  3. Delete task
  4. Mark and unmark task
  5. Show task info
  6. Create folder
  7. Add task to folder
  8. Edit folder name
  9. Delete folder
  10. Email reminders on task deadline
  11. Calendar view for tasks
  12. Daily summary of tasks
  13. Calendar navigation
  14. Mobile responsiveness
  15. Customized mobile calendar interface
  16. Motivational Quote

Distinctiveness and Complexity

The project was built using Django framework with Python at the backend and Javascript at the front-end. It also uses a SQLite database which stores the information generated by a user. All the data is stored on the server side and it is accessed by using the REST API transactions in javascript. All web pages of the project are mobile responsive.

WeDo is meant to be a solution that encapsulates all the essential features a user would want in a productivity management application.

Features such as calendar view, email reminders and automatic parsing of dates are not all available within a single app in the market and one would normally tend to use a combination of apps to perform these tasks.

It is a complex project as it delves deep into both the back end and the front end. On the backend it uses SMTP to send emails, multithreading to keep track of deadlines and send email to the user's registered address.

On the front end it features an intuitive user interface along with special features like a customized right click to improve user experience. There are API calls being made for every small change made on the website and it is all updated into the database in real time.

Ultimately WeDo is a production ready application that draws well from the concepts taught in CS50W and goes beyond to explore additional features.