As college students, we experienced difficulty when deciding where to go to college. One of the biggest factors for us was our life outside of academics. There was no clear way to discover what the clubs were like, and we lacked personal experiences to guide our decisions. This made it challenging to choose a college that aligned with our passions and interests beyond the classroom.
CommUnity is a platform that allows users to discover and connect with various communities. The goal is to better inform our users to help them engage with their passions and get them involved with their community.
We built CommUnity with a tech stack designed for efficiency and scalability
- Front-end
- Vue.js framework, for its lightweight, responsive nature and seamless single-page reloading
- TailwindCSS and DaisyUI for sleek, modern design and playful styling
- Backend
- Node.js for server-side development
- Express.js to build our own REST API
- Database
- MongoDB for storing data, providing flexibility, scalability, and efficiency
- Mongoose adds structure and safety to our MongoDB interactions
Our biggest challenge was transitioning from SQL to MongoDB. This switch required us to rethink our data structure entirely and rework our backend to accommodate a NoSQL approach. MongoDB offered the advantage of cloud data handling. Learning an entirely new technology, especially with the pressures of time and communication, was daunting but it ultimately led to a more scalable and cloud-ready solution.
We are proud of our team. We worked together to learn new technologies from front-end frameworks to backend tools such as express.js paired with a database solution like MongoDB. The communication and collaborative approach we took, pooling our skills to solve a problem personal to us, was a major achievement.
One team member had to dive into learning MongoDB from scratch. The non-relational nature of MongoDB was a completely new concept, and they quickly had to adapt to how data is stored and queried. By overcoming this challenge, they gained a deep understanding of database management, querying, and real-time data handling, which was crucial to the project's success. Another team member took on the task of learning Vue.js for the first time. They explored Vue's reactivity system, components, and state management, quickly grasping how to create dynamic, interactive user interfaces. This experience not only improved their JavaScript skills but also reinforced the importance of self-learning and seeking mentorship when tackling new technologies. We also had one member who led the front-end design, utilizing Tailwind CSS and DaisyUI. This was their first time working with utility-first CSS frameworks, and they quickly learned how these tools can streamline styling and create a more efficient development workflow. The experience helped them develop a keen eye for clean, responsive design and the importance of creating an intuitive user experience. Each of us learned a great deal individually, but it was the collaboration that made the project come together. We all had to adapt quickly, communicate effectively, and share knowledge to build a functional, modern platform.
We hope to integrate with Schools and local communities. This could help increase the size of our database which could also lead to integration of Machine learning and AI. We would train a model to recognize which club would best align with the user's passions and goals. Presentation