One of the challenging things about travelling with a group of friends is trying to count up expenses during the trip. There are different apps we have used in the past but it feels like in the past few years the options have gotten worse. New features attempting to pull revenue have made them frustrating to use. Limiting the amount of transactions per day, nonstop ads, or preventing you from having multiple trips open to name a few.
After our last trip I decided I had had enough and I wanted to see if I could set something up for myself. Honestly, expense counting is not a difficult problem so I was confident that this was something I could see from start to finish.
For this project I chose to try something new. Instead of making another Django app, I selected a Next.js framework using React and a Django Rest framework in the backend. The app features a user login system that only lets you see trips that you are a part of. Trips can generate a join link which will allow you to invite your friends to any trips that you make. When putting expenses in you can track in multiple currencies and the app will tally up the best way to simplify payments at the end.
One of the most important features was setting up the project as a progressive web app (PWA). PWAs are web apps that can be opened as normal phone apps on your device. In this case I can save the app directly to my home screen and open it up that way instead of going through a web browser. It adds a nice touch of convenience to the project.