The Club Pub

About the Website

The Club Pub is a collaborative project made by my group, 404jobsnotfound (I know) for our ICS314 final project. It consists of features available to users where they can add, edit, manage, and most importantly, browse clubs. There are two roles for the users: normal users and an admin. A normal user can do said things except editing and managing clubs which are exclusively for the club admins who registered the club on the website. Website admins, on the other hand, are free to do any of the permissible commands to regulate the website. This website has a running database based on PostgreSQL and stores data effectively from the information fed from the AddClub Form. It also also be edited via the “EditClub” form. All the submitted clubs are displayed in the “Browse Clubs” page:

My Contribution

Throughout the project, I worked on several tasks that directly impacted user interface and interaction. I created and implemented the database, which was one of the most challenging aspects of the project, as it serves as the backbone of the entire website, managing all the data from club submissions to user interactions. In addition to the database work, I created the home page for users, the form for adding clubs, and the form for editing clubs. These forms were essential for user interaction, and I focused on making sure they were functioning and easy to use.

Another significant task I took on was implementing roles and permissions for the website admin. I defined the capabilities of the website admin, ensuring they could manage and regulate the website by being able to do the aforementioned permissions but also delete clubs. The most challenging task for me was linking APIs between the front end and back end. Initially, I was unfamiliar with the logistics of how data was transferred and updated between the frontend and backend. I had to learn how to structure the API calls properly and make sure all was working smoothly.

Takeaways

One of the biggest takeaways from this project was understanding how the frontend and backend communicate. I learned how to implement a working database as well as creating API calls. On the frontend side, I had also learned to display the data by the “BrowseClubs” page and also receive data from the add and edit forms. This experience served as a huge learning opportunity, as it helped me understand the process behind deploying a website.


Our website, deployed in Vercel, can be found here

Our project’s GitHub page