PetTrack
- 13 Devlogs
- 52 Total hours
Turn your old phone into a small pet tracker for Rabbits, Guinea pigs, etc.
Turn your old phone into a small pet tracker for Rabbits, Guinea pigs, etc.
Bye guys!
I’ve done multiple things with the WebClient over the last 4 hours, and we are getting closer and closer to shipping! Here is a quick rundown of the progress:
P.S. Berci got vaccinated today! 💉🐇 So now he’s immune to both physical viruses and mental breakdowns over JavaScript!
Okkkay so, little bit of a backgound here, I do not agree on the fact that I should pay for FOSS apps to be put on the play store and app store, that for one company i should pay 25 bucks once and then i can put my app on the app store and i have to pay 100 BUCKS YEARLY TO APPLE. So, instead of creating an app for iOS, since you can’t really sideload (there are ways for people in Europe and you can jailbreak bla bla bla…) and this app is made for ordinary people. Not developers. So, as a last resort, I am making a WebClient and WebMonitor, so the apps are able to run without even installing anything. Obviously the installed apps will run better and feel better, but then no iOS support, which I did not want.
So, I started working with AI on a WebClient and WebMonitor and started learning JavaScript, but that…. Dart next to Javascript is a kids game honestly, very hard, I tried to make it easier for me by using TailwindCSS which I have some experience in, but it wasn’t that easy. To eliminate AI slop, I have a great Web developer friend (became bald at the bold age of 30), and he’ll monitor the code and check if it is alright for “prod”…
I didn’t really add any new features this time, but rather focused on fixing and polishing already existing features.
.arb dictionaries.RepaintBoundary method.🚧 IN THE WORKS: WebSocket migration! I will tackle that tomorrow to achieve real-time streaming.
Bye guys!
When you Install the server, it spits out a QR-code, which you have to scan while setting up the Client app, they connect, and you have to set up the profile of the pet, and a 4 digit pin code, which will be for the WebClient that I am planning to make. After that, the phone spits out another QR code, which you have to scan with the Monitor, and it will connect automatically, and only then will the app let you in.
Also, I added E2EE to the server - client connection, to make it more secure, and I also did some bugfixes. I will start to Polish the apps, make it so easy to set up that even somebody who doesn’t use technology day-to-day would be able to set it up perfectly.
Bye guys!
Monitor:
New README.md:
Tomorrow, I will start to make a webpage for the project, and I might make a WebUI before the project ships, and add some more tests, but I will sleep on that.
Bye guys!
Today I worked a lot on PetTrack, and I made a few small but nice changes:
That’s all I think.
Bye guys!
Hey guys! I know I haven’t posted in almost 2 weeks at this point. I needed a break from coding and doing work at the PC/PetTrack.
We have a few miscellaneous updates to share:
I will put more effort and hours into the project soon, but I have a lot of other things going on besides this project, and I don’t want to risk burning out.
Bye!
P.S: This is Berci from a few days ago and I pushed everything to GH!
I don’t remember everything I have changed in the code, but:
I am soon looking for testers for the program, before shipping I want to make sure that this is functional and useful for small pet owners, and what might work for me in my use case, it might not for somebody else, and I want to make it as stable as I am able to.
Everything is opensource, available on https://github.com/szbnce/PetTrack (will push everything to GH tomorrow!), DM me on Slack if interested, currently only available for Android.
I will start working on the UI and fix the bugs, and get back to you guys soon!
Here are some pictures of the UI!
Hey guys!
It’s been a long day, once again, but I have some good news!
I have started working on PetTrack Client, started writing the UI and the functions of the app, but that’s when I realised that I still have no way of storing the data, analyzing the data and I don’t have any API routes where I could check or see the NON EXISTENT DATA!
so, I left pettrack_client and started working on the backend, it’s getting somewhere, but I have not pushed changes to GH yet, because I haven’t finished it yet and it would not run in this state.
I will try to finish changes with the backend tomorrow so I can start working on the frontend / client with real, actual data.
Until then, here is a picture of PetTrack Monitor running on a somewhat low end Android 8.0 device and my IDE :D
Good day everybody!
It’s been a long day. I have done a lot of things today, mainly with pettrack_monitor. Basically:
Firstly, I did a git rebase and made my last few commits make a bit more sense. There were commits that weren’t that useful or had the wrong name; it’s always better to have a good commit history. Next, I finally installed the app on a real device, and let’s just say, there were some problems. The flashlight was on while taking pictures, which is what I fixed first. It was quite easy, just one line: await _controller.setFlashMode(FlashMode.off);
Afterward, it dawned on me that most people (including me) will use this app in Landscape mode, not Portrait. I fixed that issue next, but that itself came with a batch of new problems. The layout broke, like, fully. I couldn’t use the app at all, so I had to rewrite the whole layout with flexes and SizedBoxes; it was a pain in the a**. After this issue, instead of showing the SetupScreen every time the app opens, I made it a one-time thing and added a Settings menu and an About page. There were some issues with overflowing, but I fixed that as well. Now the app is fully functional. However, there is an issue I haven’t gotten around to fixing yet: when I exit the SetupScreen and go into MonitorScreen, the Xiaomi Camera API kills itself for whatever reason. I tried fixing it, but to no avail.
It’s currently 12:30 AM, and I am very tired now. Tomorrow, I hope I will fix all remaining issues with the Monitor app and move onto the Server-side logic, zones, database, etc. And while doing that, I will start working on the Client-side app (at least an MVP) so I can start testing the app and server together.
Berci is also looking forward to testing the app! (And don’t ask why he is there he is there because he wants to I have no idea why that’s good for him)
Peace out!
We finally have the server in Docker up and running!
I haven’t had much time to work on the project yesterday and today, but I started working on the Docker and Dockerfile, and well this is still whichcraft for me :p
But, we are developing and we are getting ahead, and I hope that after the MVP for the server is working, I can start working on the client side MVP of the app, and we can start implementing features from there.
I am very tired, and I have a long day tomorrow.
Until then, there is another picture of Berci!
P.S: Tomorrow I hope I can show some of the actual project!
Hey!
Welcome to my project, PetTrack, this is the first Devlog of the project.
I just recently got a rabbit, and while in school, I don’t know what she’s doing. And I assume a lot of animal parents face the same issue, or not an issue but just an uncomfortable feeling, maybe she/he got out, maybe they are doing something wrong, maybe they are not doing well, etc.
This is what PetTrack aims to solve, so this uncomfortable feeling goes away, and you can be sure that your pet is safe and sound, while you are away.
It uses an old phone as a “Monitor”, which will be attached to for example the cage of a pet, and connected to external power.
Originally I wanted to make it so that there is no “central” computing, but after thinking about this for some time, and figuring that most of the people who are going to use this are going to use a close to min requirement phone (assuming low range old phone, and not a new flagship/new anything basically) and the issues with if the monitor dies for some issue, I decided on using a “central server” and using FastAPI with WebSockets to make the usage more seamless. It will be a simple Docker image that you will need to compose and run on a RPI or your server.
The Client will be the “main” app, the one you will use the most, the one you’ll use daily. This is my last priority at the moment, let’s get the data first (Monitor), analyze and make use of the data (Server/backend), and the last is to see the data (Client).
I’m open to any and all feedback on the project, any tips, help with Py/Flutter, would appreciate!
Thanks for reading!
Pic Description: My rabbit, named Berci, and an MVP of the server and Monitor.