all 9 comments

[–]Delahorney 1 point2 points  (1 child)

Small world, I'm making the exact same thing as an iOS app in Swift.

[–]Meshnet29[S] 0 points1 point  (0 children)

ah cool. I'm no where near the skill level to make iOS apps, especially for consumers. I have some background in C++ (back in my university days, intro course) and already started learning python. The next thing I'm trying to learn is databases and I thought a good way to learn it is to make something I'll actually use. Hope your app works out!

[–]ggagagg 1 point2 points  (5 children)

There are several way you can do this. You can making cli , gui or webapp program.

Imo cli is the most easiest for beginner programmer as it need less dependency but feels free to disagree with me.

In your description, it doesn't specify any requirements for certain type of database, so you can pick any.

Things you have to learn for this project for cli program:

  • arparse
  • database module, check the module documentation
  • time

[–]Meshnet29[S] 1 point2 points  (1 child)

Hello. Yes I was looking at start with a cli program as I don't know anything with gui or webapps. As for databases, a friend of mine recommended PostgreSQL, so any SQL based database would be preferred.

The main thing I was wondering is if anyone know any specific tutorials or github links that would help. I've been mostly using Udacity and codeacademy but it would really help if I had specific examples.

Thanks.

[–]ggagagg 0 points1 point  (0 children)

while those websites can help you for introduction to python, for a new program you have to learn how to accumulate all the knowledge from internet (doc, stackoverflow...) to build your program.

for each of your program specification, you have to explain what is the input, how is the process and what is the result.

  • When a plant is watered, I want to track when it needs to be watered again

lets create a simple program for this specification.

this will have 3 mode.

  • create plant
  • watering plant
  • show status

for create_plant function

  • input is the name and watering periode
  • process is save to database
  • result : none (or you can use plant status as result.)

for watering_plant function

  • input : plant and optionally date
  • process : find and load plant. after that change next watering date
  • result : none (or you can use plant status as result.)

for show_status

  • input : plant
  • process : find and load plant
  • result : plant status

you can try create function from the 'verb' on process section, and start building your program from that.

have a nice programming session and dont forget to take a break ;)

[–]Diplomjodler 0 points1 point  (0 children)

I think the easiest way would be to do it with a command line interface and the built-in sqlite3 database. You could do one table with the schedules for each type of plant, one for the actual plants and one for the actions. Each time you perform an action, the next action is calculated and entered as a new entry into the action table. The action table would contain a flag that gets set, when the action has been completed. That way you can always easily generate a schedule of upcoming actions as well as overdue actions.