After experiencing loneliness during the COVID-19 pandemic and learning remotely, we have realized that online school does not provide a healthy experience for students. Our group wanted to create a platform which helped students express their thoughts anonymously, so they can express their thoughts without having to face judgement.
What it does
Our app simulates a discussion board where users can anonymously post any type of message they want for others to see it. All messages get deleted after a fixed time, which we decided to be ten minutes. The user's message gets added to a mySQL database which they can access to view previous messages in the conversation as long as the timer did not reach zero.
How we built it
We worked with Tkinter, a python GUI toolkit, which allowed us to create the user interface for our discussion board. We included several buttons which allow users to view their past messages and even send messages. Next, we needed to display a timer which would count down and clear the contents of the database when the timer reaches zero seconds. Once the timer reaches zero seconds, the timer resets for ten minutes (we defined ten minutes) after the database has been cleared. Additionally, there are three functions that we included to modify the database including deleting messages which deletes it directly from the database, sending messages which adds the message to the database, and viewing previous messages from the discussion board which are stored in the database.
Challenges we ran into
Firstly, working with mySQL was challenging due to the syntax which was very different from the languages that we were familiar with. Another challenge that we faced was if the user doesn't open the view board, it destroys an object that doesn't exist and crashes the system, causing the program to malfunction. The last major problem we ran into was incorporating a live timer which we needed to make restart after every 10 minutes.
Accomplishments that we're proud of
One accomplishment was building our first GUI yet, let alone exploring other capabilities of python which we had never known. Another accomplishment working with a remote database, which we also were able to edit(adding and deleting data from the database). Lastly, we are proud that we have been maintaining a dynamic database rather than working with static methods.
What we learned
We learned a lot about the true capabilities of python, which was the language we worked with. We learned the basics of working with GUI's using the Tkinter GUI toolkit. We have also learned about mySQL queries and basic user interface which allows users to interact with our program.
What's next for Post-It
The upcoming plans for Post-It would include private communities with their own message boards. Additionally, instead of wiping the database every ten minutes, we could store it for as long as the user is using the application. Once they leave, the database will clear out on it's own. Finally, we plan to store the times along with the actual chat messages in the database, so users can also see the timestamps at which specific messages were sent.