stardance has been extended another month! the new deadline is october 31 :)

You are browsing as a guest. Sign up (or log in) to start making projects!

Grocery Price Tracker

  • 9 Devlogs
  • 12 Total hours

Important: The server may take some time to start back up after it hasn’t been accessed for a while. If it isn’t reachable wait 2min or so and try again. Also you must use http

Service that can track the prices of some local grocery stores. Beware, the products and the legal notice are all in german and prices are in euros. I wonder how they compare to prices elsewhere?

Open comments for this post

46m 32s logged

Mods: The proejct description and the ship still say that it may have startup times. This is no longer true. Could someone remove that as I can’t do that any longer?

Fixing shiping #2
Now we have proper hosting without any cold starts. Additionally we now also have cloudflare caching for that extra performance. And while I was at it I added a very simple favicon too

0
0
35
Ship #1

I structured this a bit like a FAQ so you don’t have to read everything; read whatever sections you find interesting

TLDR

A website with live data about products from the austrian grocery store “SPAR”. You can search filter, … It was my first time touching react and I learned quite a bit about docker. I also used some new rust libraries for serialization and hosing api endpoints

Troubleshooting

  • The server is a bit unstable, it might be unreachable if it hasn’t been accessed in a while and need a few minutes to start back up again.
  • I don’t have a SSL certificate, so the browser might show something like “The connection is insecure. Are you sure you want to proceed?”. This is fine, it just means that the traffic between you and the serve is not encrypted. Just don’t put your bank credentials there, okay?

What is this?

You can use this to view prices of SPAR (a austrian grocery store). It has live data (unless I forget to start the update) and some nice search filters. Currently only products from one brand, but the design allows easy addition of further brands.

Why are some parts of the website in german?

Since SPAR is an austrian vendor, the product names are of course in german and the legal stuff is in german too for that reason. The rest is in english so you guys don’t need a translator.

My experience

So first I wanted to do this project to do some web dev again, after only doing local (mostly cli) stuff for a while. But this time in rust. First I struggeled a bit with Docker, because my AI was halluzinating again (thats on me though for using the trashy free model), but the implementation of the web scraping was pretty and db insertion was not too difficult, if I remember correctly after 3 months.

Then I used react for frontend, which I knew nothing about, but after our Chatty gave me some hints on how to make things work it was fine. I also have to confess the html is ai-generated, because thats the part I really don’t care about.

Price tracker?

It is called a price tracker, but it really isn’t. Once upon a time it was intended to be one, I ditched that feature in favor of storm (my other project). I never changed the name though…

  • 7 devlogs
  • 11h
  • 4.22x multiplier
  • 45 Stardust
Try project → See source code →
Open comments for this post

36m 15s logged

#6 Devlog (now for real)
I had almost given up when I rebuildt the container on my potato server for the 5th time, because I used local builds for the server.

But then it just worked!!! It is still a miracle to me how there was nothing that went wrong, but it seems for once the server I set up works properly. Yay!!! Now is really time for shipping

0
0
19
Open comments for this post

45m 18s logged

#6 Devlog (not really)
Almost forgot to ship this; and I was kinda panicing because the server was broken. Was a quick fix at least.
But now I found that the search system is a bit whacky and I am really scared to fix it. Let’s hope I don’t break the server, because it has been some time since I set it up and I have no idea on how to fix it if it breaks.

0
0
29
Open comments for this post

2h 31m 40s logged

Devlog #5: Final upload

After I finally finished uploading everything to the server and fetching all of the 22K products they have, I noticed that the page is kinda laggy if you try displaying all of them at once (who would have thought). So I implemented paging and downloaded everything AGAIN, because idk?. There is db persistence across builds, but I do it on startup anyways.

And all of that with 1s delay between requests to avoid getting rate-limited by their server. It took sooo long. Anyways, it is ready for shipping, I hope you enjoy it!

0
0
1
Open comments for this post

56m 40s logged

Devlog #4: Setting up a server

So for the last day or so I’ve been working on setting up an online server. Getting the OCI (Oracle) Free Tier account took forever and then actually aquiring a machine too; They’re always out of resources, unless you upgrade to pay as you go. The one hour logged here is mainly me creating new Dockerfiles, that don’t have any of the build tools in the live server. Idk what to show, here is some screenshot from the server I set up:

0
0
2
Open comments for this post

1h 40m 33s logged

Devlog #3: The frontend

I restructured my project a bit, so I could have a simple web UI for my project. Nothing fancy yet, but it proofs that everything works. Still, quite interesting, since I have never used React before and I see why so many people like it (Also got a fair bit of help from AI with the design; that’s not really my cup of tea).

Since all of the base features are implemented now, I think I will ship it soon, but before that, I want to make a few more adjustments (to not get rate-limited) and polish the UI a bit. Below you see the first UI draft

0
0
1
Open comments for this post

1h 59m 12s logged

Devlog #2: Data Expansion

After I got everything set up last devlog I now added some real data collection capabilities. We now track:

  • name
  • brand
  • vendor
  • price of one unit
  • size of one unit (The thing in the image, not necessarily 1 kg/L/etc)
  • image URL
  • reference price (How much does 1 kg/L/etc cost?)
  • tags like “organic”, “gluten-free”, etc

I also restructured some of the code to make it easier to add new vendors, befor we were kinda fixed on SPAR. That’s all for now, I will now go and create a frontend so that next time I can show you more than some db schema.

0
0
1
Open comments for this post

2h 6m 53s logged

Deblog #1: New Project

The end goal is to have an app that can compare prices between different grocery stores and can tell you where you can get your items the cheapest. I have set up a basic project in Docker with Rust and Postgres. Current capabilities are loading product data from SPAR deserializing, structuring and storing it in the db. There is no UI yet, but thats the next step.

0
0
2

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…