WeDo task manager web application made using Python and Javascript
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.
- 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.
- 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
- static/tasks - contains static content
- wedo - project directory
- media - contains the logo for the app
- Create task
- Edit task
- Delete task
- Mark and unmark task
- Show task info
- Create folder
- Add task to folder
- Edit folder name
- Delete folder
- Email reminders on task deadline
- Calendar view for tasks
- Daily summary of tasks
- Calendar navigation
- Mobile responsiveness
- Customized mobile calendar interface
- Motivational Quote
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.