Inspiration π§
As young individuals, especially university students, we have lots of tasks to accomplish. As creators of this software, we also frequently face the problem of poor scheduling and time management, such as deciding when to go out and have fun, or when to lock in and study.
Although poor time management is oneβs attitude problem, using OnTime is expected to help build positive habits for students while having fun with friends.
What it does π
First, taking a twist to social media applications, users are able create a personal schedule. When it's time to start doing the scheduled task, users are required to take a picture of us doing the task. Second, user's added friends can check whether the users are actually doing the task from their posted pictures. Friends can upvote or downvote on our pictures to determine the completion and validity of the task. Lastly, there is a leaderboard feature which is determined by the points a user has, making it a competitive game, where those who follow their schedules and finish tasks accordingly are rewarded.
How we built it π
We built the frontend of the website using HTML and CSS and the backend using the Python Flask framework and Javascript. Then, we used SQLite3 for our database. Our website also used Werkzeug Security for password security and Datetime library to format input.
Scoring System π―
When joining a group with friends, you can compete with your friends by achieving points through completion of tasks. The leaderboard will show who has completed the most task done based on their points. Each submission will be worth 100 points.
Voting System βοΈ
However, to make sure the photo submissions are legitimate, we built the voting system, where friends can upvote or downvote your photo submission. If you get too many downvotes, you will not achieve the 100 points, however you might get your points deducted.
Challenges we ran into βοΈ
Integrating the frontend and backend of the website, due to the frontend engineers being unfamiliar with the Python Flask framework. We had to build the frontend from scratch, in order to properly customize it for our website.
Accomplishments that we're proud of π
- Getting the database working even though we had incompatibility issues with our original scheme.
- Getting the backend working despite our lack of experience with Flask.
- Finishing the entirety of the frontend.
- Being able to complete our first 24 hour Hackathon!!!β°(βββ)β―
What we learned π
- How to integrate and combine the frontend and backend.
- A way to test the backend system without requiring the frontend to function.
What's next for OnTime β‘οΈ
- Application: Create an application for OnTime for more convenient access.
- Achievement System: User will be more motivated to do their task as they will get badges to display on their profiles.
- Point System: Dynamic point system determined by type and length of task done.
- Notification: Send notifications to users to remind them to do their task!
Log in or sign up for Devpost to join the conversation.