Team AkatsukipresentTipper
Tipper Demo Video
Cashless tipping web-app
A cashless tipping web-app. Through Tipper, service providers such as waiters, are able to be tipped directly in to their bank accounts. Upon scanning a QR Code linked to the service provider's registered Tipper account, the person tipping can complete a payment authenticated by Stripe.
With a few of us having experience working in hospitality, we agreed that a problem we face nowadays is not carrying change on us anymore to be able to tip our waiter's when going to a restaurant.
As a waiter, you register an account with your details. Log-in to your profile page where you can access a QR code to show the customer who would like to tip you. When the customer scans the code on their phone, they will be taken to the waiter's payment page where they can tip the waiter online.
Once payment has gone through, the waiter receive's a confirmation message on their profile page.
The Team
Anna van Ruiten
Oghenevwegba Eric Nabofa
Amir Rashidinia
Gyozo Vancsura (Victor)
Langa Lee Dlamini
Merin Yilmaz
Technologies
We used: JavaScript, Jest, Supertest, ExpressJs, MongoDB, Next.js, Stripe, Cryptr, Qr-code, Vercel, Scss, Bootstrap
We were eager to learn and try new technologies on top of the languages learned from the course.
We decided to use MongoDB for our database as research showed it can provide many benefits to a software development team. Its flexible schema makes it easy to evolve and store data in a way that is easy for programmers to work with. MongoDB is also built to scale up quickly and supports all the main features of modern databases such as transactions.
After doing our research, we found that Next.js would be the most appropriate framework to use as it has it's own routing system and renders pages more quickly as it is server-side.
Vercel was used to host our web-app. As it is created by Next.js it proved to be the most compatible for our web-app and more efficient in deployment.
Challenges Faced
Initially we hosted with Netlify however it didn't implement our CSS and recent commits. Implementing Stripe into our already existing code. Render not automatically deploying our commits at times and so having to manually deploy ourselves.