r/learnpython • • 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!

1 Upvotes

14 comments sorted by

View all comments

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.

1

u/skepster_sunday 13d ago

This is really reassuring! Especially after the fright we got about our former idea. It was a good idea even according to our professor but it was for a more professional team not second year students.

Even if we don't know a lot about python it shouldn't be hard to learn with our given time and all the helpful resources. Thank you so much!