Inspiration
In order to tidy up our busy schedule which became busier during the pandemic and all-around online activities, we often forget to keep a reminder of our day-to-day stuff and miss the deadlines. The idea to build this project came with a view to mitigating the suffering caused by our missed deadlines and keep a reminder of our daily tasks.
What it does
It basically invites a user to register to the website and takes him/her to the dashboard where all the pending tasks are shown. If no task is pending, then it prompts that too. Now, there's a link where the user can go and a reminder to a future task or any deadline specifying the date and time along with the description of the task. When added, a mail will be queued at the prescribed deadline to the user's email. On the deadline date and time, the user will get a notification stating or reminding him/her regarding the deadline.
How we built it
We used the Laravel framework of PHP language combined with the MySQL database system. The project mainly depends on three database models, the users model, the tasks model, and the queued jobs model.
Challenges we ran into
The main challenge was to send the email at the prescribed deadline. The team had to go through a lot of documents and tutorials in order to understand the built-in queue feature of the Laravel framework and use it to its benefits. As there was no prior experience, it was challenging to design the database system and relate one model to another too.
Accomplishments that we're proud of
First and foremost, I am proud to take part in a hackathon for the first time and submit a project. Learning the Laravel framework and utilizing its built-in features to maximize the desired output is an achievement in itself.
What we learned
The things I learned during the hackathon project submission:
- Perseverance while coding and learning a new framework.
- Patience while debugging and coming up with an idea.
What's next for Task Scheduler
There are a few things that remain to be implemented. For instance, while marking a task as completed, I wish to cancel out the queued mail from the jobs table. Moreover, I wish to make the frontend of the website more eye-catching. In order to do that, I need to learn a frontend framework like React or Vue and come back again to develop it.
Log in or sign up for Devpost to join the conversation.