Mentors

  • Rakshith M
  • Kavya Bhat
  • Sathvik Hebbar

Members

  • Kesanam Ashinee
  • Meghana Gupta
  • Harsha Narayana P
  • Chetan Maheshwari
  • Subith Sathish

Aim

To design an activity planner similar to Todoist, while learning basics of web development along the way.

Introduction

In this busy and fast growing world, it is very important to plan your schedule for the whole day in advance. So with this motto we have come up with a basic daily activity planner to keep a track of all your day-to-day activities and help you reach your goals. This project was taken up with the aim of introducing web development, along with libraries and frameworks such as ReactJS and Django.

Django is a Python-based free web framework that is used to construct the backend of our web application. We have used ReactJS to build the user interface, and interact with the backend server.

Implementation

Database Design

The base schema is as follows:

image 1

User Authentication

User authentication was implemented using inbuilt Django functions. The user object takes three parameters - username, email and password.

image 2

Views

  • The homepage of our website displays the inbox, if the user is logged in. All pending tasks are displayed here.
    image 3

  • A user can view the tasks that are due today or in the future, using the Today and Upcoming tabs.

    image 5

  • Users can add and edit tasks, or mark them as completed:

  • A user has the ability to group their tasks into task lists, to ease management.

Axios, a HTTP client, is used to send the respective requests to the Django API endpoints, which then returns the relevant data.

Future Work

This project could be improved further by adding the following features:

  • Add the ability to easily move tasks between different lists.
  • Sort tasks by priority, and generate reminders based on the same.

Conclusion

In this project, we have created a useful activity planner for task management. The members have learnt the basics of both frontend and backend development using ReactJS and Django, and familiarized themselves with the usage of Git and GitHub.

References

  1. CRUD operations in Django
  2. ReactJS Tutorial