The pandemic has made everyone an expert serial procrastinator. It is really difficult to stay motivated. However, if you keep a track of your time and list out the most important tasks, anything can be achieved.
What it does
This web app helps you list out your important tasks for a day and assign fixed working and break time. You can start the timer for your work session and take breaks in between, the web app will keep a track of your time spent. This way, you're always aware when you're wasting your time.
How we built it
This is a complete full-stack MERN-based project. We used NodeJS with ExpressJS for the backend service, along with MongoDB as the database. The backend provides all CRUD operations such as Create User, Update user, Add New Task, Update Task, Delete Tasks, Read Tasks. The data is being served in JSON format. The Tasks Model Schema has 'WorkTime' and 'BreakTime' that are used to keep a track of the time spent. We used JSON Web Tokens for User Authentication.
The front end is a ReactJS Redux web app with a modular structure and minimal UI.
Challenges we ran into
- Configuring Timer in ReactJS was difficult. We faced issues in keeping the backend and front end in sync.
- We still need to learn a lot about state management in ReactJS, we found Redux a bit complex than we thought.
- We ran short on time and implementing all backend features in the front end was not possible for us.
Accomplishments that we're proud of
- Despite the short time period, we made it work. The project is very minimalistic but it is actually usable.
- We created a FULL-STACK project in just 1.5 days.
What we learned
- React Redux
- How to organize react components
- Axios Library for API calls.
What's next for EasyPlanner
- We'll continue working on the un-implemented features in the front end.