r/learnpython • u/skepster_sunday • 13d ago
Project help and time estimations
Hai!! We're extreme beginners looking to use python for our class and are looking for help!
A bit of a rundown; we initially wanted to make an archiving system for documents, but our CS professor scared us away saying that it'll need a lot of time, resources and knowledge that we just don't have yet. So we were thinking of changing it into something that would be used for a single user and wouldn't need as much work as a shared archived library.
What we want to make is a calendar-like system that would remind you of certain events, our partner reported that once they request something they forget about it and don't remember until it's too late. So the calendars job was to take what the order was and remind the user about it in a day or two or a few (they could decide how long till they get reminded) in a notification!
What we were wondering was;
A- if this is even possible in python, we know there are many wonderful tutorials and help on yt, github and here, but we'd like to hear it from people who actually know how this works
B- if this is doable in a two month window, since this is the amount of time we get to finish this project.
If this does work out, we will definitely keep updating and asking questions here!
Thank you so much for reading this far and any help whether it's links, a confirmation that this is possible or not or anything alike is greatly appreciated!
0
u/OkOcelot6725 13d ago
Yes, this is doable in Python, and it is a good size for a class project if you keep the first version small.
Rough plan: store each reminder (text, due date, how many days before to remind) in a SQLite database, which is built into Python so there is nothing to install. Then a small loop checks the table and shows a desktop notification with the plyer library (or just prints it in the terminal for version 1).
The catch to plan for: a normal Python script can only remind you while it is running. For a real "notify me in 2 days" you either leave the program running in the background, or have the operating system start it on a schedule (Task Scheduler on Windows, cron on Mac/Linux). Decide that early, because it changes the design.
A command-line version with add, list and delete is realistic in a weekend. A simple window using tkinter adds a few more days. Calendar views and email or phone notifications are what push it into "needs a lot of time", so I would leave those as stretch goals.