Hello everyone.
This semester at uni I’m taking a course which requires me and my group to create a complete software project. Out of the available topics we chose to make an airline ticket booking app, much like skyscanner.com. It is my responsibility to handle the majority of the coding aspect of the project, so I would like your advice.
I would like your thoughts and recommendations on what frameworks/languages/technologies you recommend we use to implement the project. I would like to avoid anything complicated that will take a long time to learn, as I only have a limited number of weeks to deliver. However we do need to be able to have a decent looking frontend, a backend that will allow users to login either as passengers or administrators (them being the ones who manage flights and handle passenger accounts etc.), and passengers should be able to at the very least input a departure city and time, and arrival city and time and get a list of available flights back (the flights don’t need to be real-world flights, we can generate that data to simulate the app).
I’ve checked out pythons flask, but (correct me if I’m wrong) while simple it seems too much so. I would need to handle user authentication, creating and connecting any databases etc. all manually from pretty much scratch. I’m interested in finding that middle ground of simple enough to get up and running with quickly, while not so simple where I need to learn 1000 other things just to get a prototype up and running.
Thanks in advance for your suggestions!
Edit: I asked my professor for advice and as he suggested I decided to go with bootstrap and sqlite. Im still open on suggestions to do the authentications though :)
I’d look into AppWrite for handling all the backend stuff. It’s simple, easy to learn, and will give you a nice UI to set up and manage things like auth, storage, database, email, etc.
Then you can hook it up to your frontend. Svelte is my recommendation if you’re up for learning a new framework due to how simple it is. You can dive in right now on the official interactive tutorial. Utilize the Svelte Discord server for learning too—it’s very active and you’ll get an answer fairly quick.
HTMX is an even more basic frontend framework if you’re looking for something stripped down.
I also recommend using a UI component library like daisyUI or Flowbite to save you even more time.
Seconding this - people literally spend years to do what you’re trying to do, so a component library is a really good way to shortcut a lot of the busywork, eg do you really want to spend a day or 5 trying to make it not look horrible if you open it on your phone?
Personally, I really like IBM’s Carbon components, but it’s very opinionated which can be annoying if you’re trying to just get things done. (“Cards?? No. Find another way to do it.” I love its look, but it’s very “you think you want that, but you don’t”.)
While I’m at it, also seconding this. Svelte is incredibly readable compared to other frameworks - every file starts with JS, then HTML, then CSS. It’s really easy to learn quickly, imo. Svelte is, imo, easily the most intuitive framework.
HTMX is cool and all but all the time and energy HTMX can save you, you’ll end up having to do that crap anyway because you don’t have time to build an app from scratch - ie, you’re still going to benefit from a UI component library, and that will add all the overhead that htmx is supposedly saving you.
Supabase is another self hostable backend, although a little more complex than appwrite