Skip to content

Excelsior2021/smash-it-remastered

Repository files navigation

Smash It!

Performance tracking for table tennis.


smash it remastered image

Motivation

The idea for Smash It! came about whilst I was enrolled in my web development bootcamp. My coursemates and I would play table tennis every chance we got. The problem was, we struggled to keep track of our performances (wins, loses, matches etc.). We tried using a whiteboard and a spreadsheet but these proved impractical or cumbersome. For my capstone project, I thought it would be a good idea to build an app that would solve this problem.

The previous version of the app was more of a proof of concept. I decided to build a production ready version that real users could use. To potentially solve a problem many other table tennis groups may find.

Tech Stack (Current)

Client/Server

Client

Server

Database

Dev

Approach

The current approach for this project was to use Next.js, a React framework for building full-stack web applications. Therefore having the benefit of building a single page application integrated with the server. To speed up the development process and achieve a minimum viable product, I decided to use Tailwind CSS for utility css classes and daisyUI a TailwindCSS component library. NextAuth.js was used for user authentication and session management. Zustand was used for state management on the client side. Obscenity was used to prevent the use of profanity in the app. Resend is an email service, used for email verification and password resets.

Primsa ORM was used to generate the database schema and interact with the database on the application level. A PostgreSQL database was used. Snaplet seed was used for database seeding during testing.

Deployment

Smash It! was deployed on Vercel. The database was deployed on Render.

Enhancements

This app is currently an MVP. A lot more features can be added. Feedback and feature requests welcome.

Releases

No releases published

Packages

No packages published