Da Club

Da Club Image

Overview on Da Club

UH Manoa definitely has a large catalog of its respective clubs and various registered independent organizations (RIOs) but has the issue of lack of exposure. The most that there is of these RIOs is a spreadsheet online that isn’t necessarily the most telling representative of what the organization is about. For those who are really into looking for these organizations, this process isn’t much of a problem, but we hope to streamline the steps into a more pleasing and welcoming site.

DaClub is an application that I and 4 others have developed to allow site visitors to view UH Manoa’s RIOs in an aesthetic and organized fashion. Upon entering the site, users can log in with their profiles, create them if they don’t have one, view the clubs, and even start a club should they run one! The clubs can be shown and explored by using the club list that we have available. This is the main page that users are here for, allowing for quick and easy access to club information. Among what’s presented are the organization’s respective name, description, website, meeting times and locations, and photos.

Working on DaClub

Before working on the project itself, came team formation. We were a group of 5 and our team was named ICS Code Crew. We made our regular meeting times, and team contracts, and started brainstorming on how to implement an application that does what we set out to do. This was before the formal Milestone portion of our project development. There was a brief discussion of how work would be distributed and who would do certain aspects. We decided that there isn’t any set-in-stone role and that everyone can bounce to whatever issue or problem need help in.

We carried on towards the start of our app development, entering milestone 1, and marking general development. From this point, we mainly focused on the logic of what we would add. We created our respective landing pages, edited and added forms, email format, databases, and most challenging, schema. For the most part, we got a lot of our functions up and running but we had some difficulties with some parts. The schema proved to be the hardest portion but once we got it up and running, the rest was able to fall into place. Milestone 1 was completed and we had the baseline for our application.

Come milestone 2, we further refined what we already had and added the addClub function, albeit a bit late. This allowed us to start adding real-world data from the RIO spreadsheet. We worked further on what users would want to see and that was visual, so we worked on improving the user interface (UI) design of our site and made sure that everything was intuitive yet simple. Milestone 2 marked the end of adding new features while locking in the UI design that we had.

The next and final milestone, milestone 3 marked testing and application. From this point, playwright testing was implemented, making sure that our application passed the test while also applying whatever real data that we could from the RIO spreadsheet. With upwards of dozens of clubs in the database, we show the potential for our application.

Landing Page Image

The ‘Landing Page’ of DaClub, welcoming users to explore various clubs

Club List Image

The ‘Club List’ page, listing clubs currently registered and active

My Project Contributions

My main contribution to the website had to be the ‘Add Club’ function. It was one of the many basic functions for an application like this and while it wouldn’t be useful for the folk who didn’t run or own any clubs, It was still integral to adding clubs in the deployed version of our site. While the thought of adding such a function was simple, the actual implementation was hellish, to say the least. A lot of back and forth between schema changes and actual code within the component. At first, It was frustrating learning how to deal with these issues, as was my group when they tried to hone in on what my issue was, but It allowed for a learning experience.

Afterwards, I tried to help with smaller endeavors but realized that some possible issues would have broken the application completely, so I did away with them, instead focusing on working on what we already had, looking towards the UI design of the site rather than functions.

What to Learn

Coming out of this project, I realized a lot of shortcomings, and while at the moment I am not necessarily proud of them, I can see where I have room for improvement, not only in technical skill but also in mentality.

There was an abundance of problems that were prevalent not only due to lack of technical skill but also in the mentality to progress through them. Brute force coding through what I already knew was fine, but getting stuck and then getting stumped was definitely not the way. Adapting and just trying to find out what’s wrong should’ve been the move and I didn’t do it as much as I should have. I realize now though that I don’t need to always come up with a solution all by myself and that I could use solutions made by others, but I just need to understand why things worked the way they did. The Add Club function was integral and trying to really get into the nitty-gritty of the error I was dealing with showed me a great deal about how calling and passing information through works and I hope to apply this kind of process to other aspects of my learning as well, especially when I get put up against a wall.

Among other things, my communication could always use some work. Telling others what’s going on should be the minimum in keeping my groupmates in the know about what’s going on. We did have a project board full of our issues, writing what we’re working on and what is and what isn’t finished, but a little more clarification wouldn’t hurt.

This project gave me two things to think about, How I can improve, those being skill and mindset, and the potential of what’s possible with the knowledge I have now. I know where my faults lie and I know what kind of applications are possible to create with the skillset I have and will continue to hone.

You can find the source code for DaClub on GitHub and see our website!