Garage, Artwork Sharing Platform

Type:
Full Stack Website
Skills:
HTML/CSS, JQuery, PHP, MySQL, Git
Context:
School Project, Group
Time:
2022
This project is the final project of a web development class. Working in a group of three, we are asked to develop a website that displays content, allow users to filter content, allow users to become a member by creating an account, and allow members to have a customized home page.
The website we develop is Garage, a fictional artwork-sharing platform based on the layouts I designed for another web design project, where people can share their artworks and any random thoughts, follow other people, collect items, and so on.
Considering the different skill levels of my group members, we assigned different roles to each member where one member focused on HTML/CSS layout, one member focused on creating the database and some server-side functionalities, and I focus on server-side development with PHP.
Additionally, I was also in charge of integrating my teammate's work, such as editing HTML codes to fit backend settings, and setting up connections between the front end and back end using JQuery AJAX calls. JQuery/AJAX is not necessary for the project, but I want to try some more advanced features.
Demo
Demonstration of all major functionalities, video recorded by my teammates
Other Resources


ER diagram for database
Final Thoughts
Besides dealing with issues I encountered when developing in a way that is slightly beyond the requirement of this class, this project also taught me a lesson about collaborating with people with different skill levels and expectations.
Despite the class covers JQuery and AJAX call to some extent, it is not required to use those advanced methods. None of my teammates knows how to deal with JQuery. One of them only knows PHP, and one of them is only confident in HTML layout.
One takeaway that I have from this interesting situation is that never assume that other people are on the same page as I do. Some conflicts were caused because I assumed that the rest of my team at least understands how JQuery and AJAX call work when distributing the work. This indicates that more communication effort should be made during the planning phase of a group project.
The other takeaway comes from the work distribution of this project. In this project, all members contributed to the field they are good at, and one member with a better understanding integrate everything into a whole. This method appears to be a good way to handle skill differences, where I can choose to be the contributor or the integrator depending on my skill level the next time I encounter similar scenarios.