Inspiration

We aimed to develop a project that would directly benefit the MCITO community and enhance the student experience. Currently, there's a lack of organized information in a centralized location as well as a platform for students to navigate their online experience. The MCIT Community Hub addresses these gaps by providing a solution. Our inspiration came from MCIT Central, an existing platform where students can leave and view course reviews. We aimed not only to incorporate this functionality but also to introduce additional features such as the ability to leave comments on reviews and view anonymous profiles of students who have left reviews.

What it does

The MCIT Community Hub serves as a platform for students to access MCIT-related information, course details, student reviews, and engage in discussions with peers. Students can not only read and leave reviews for courses they have taken or plan to take but also interact by leaving comments on these reviews. The platform also aggregates commonly used resources by MCIT students for easy reference. As users create profiles upon logging in, they can also view anonymous profiles associated with each review, aiding their course planning process.

How we built it

On the frontend, we employed Next.js layered on React for the framework. For programming, we utilized JavaScript, HTML, and CSS. Authentication was implemented using NextAuth.js, alongside React Bootstrap for styling.

On the backend, we adopted Express.js on top of Node.js for the framework, PostgreSQL and SQL for the database, Vercel for hosting, Render for APIs, and Postman for API testing and data input. We used Python to populate the database.

Version control and collaboration were managed through Git and GitHub, while project management was facilitated by Trello. Weekly meetings were conducted via Google Meets.

Challenges we encountered

Our primary challenge was the time constraint coupled with limited web application experience. Despite having the entire summer for the hackathon, building a web application was a first-time endeavor for our team. The level of effort required became apparent as we delved into brainstorming ideas, designing pages, outlining schema, and determining use cases. Progressing to front-end and back-end development, we met weekly to update each other. Some techincal challenges included implementing Google authentication for sign-in and mastering the use of React hooks.

Accomplishments we're proud of

None of us had significant experience with the majority of the frameworks and libraries used in the application. We take pride in leveraging these tools to create a functional web application aligned with our intended goals.

What we learned

Our journey taught us the entire process of developing a web application from inception to completion. We gained insights into concepts like server environments, web requests, and responses. Additionally, we learned how to utilize version control tools such as Git to collaborate on a larger-scale project, ensuring smooth development. Overall, we were able to learn about what a complete software development cycle for a project should entail, including brainstorming/requirement identification, planning, design, coding, testing, and deployment.

What's next for MCIT Community Hub

With additional time and resources, we aspire to enhance the platform's functionality:

  • Leverage user-inputted data, including profiles and reviews, to suggest courses to students.
  • Introduce "MCIT Connect," enabling students to connect for coffee chats.
  • Refactor the codebase to reduce unnecessary complexities.
  • Implement an electives page allowing users to propose and vote on electives.
  • Simplify the addition of new courses and information by creating admin accounts with privileges.

Built With

Share this project:

Updates