Inspiration

Frustrated by the lack of a website where you can view all the club events happening at our campus, we wanted to create a solution. Thus we came up with Discover UofT, your one stop to find all club events happening at your campus. Now Finding your next event is just a click away.

What it does

There are three main functionalities of Discover UofT:

1. Regular Students or Club Members:

Visit the main page to find all the events happening soon. Get recommended events chosen specifically for you using complex algorithms that take in your preferences and your recently viewed club events. Want to see more events? Simply scroll down and use any filters or sorting you would like to find more events happening.

2. New Platform for Club/Event Organizers:

Want to broaden your reach for your club or events to more students? Simply sign up through our website where you can access a simple posting platform that with the power of ai automatically tags your posts in order to reach the right audience. You also get your very own dashboard where you can monitor and delete any of your previous events postings.

3. Organizers who don't want to change their workflow:

Don't want to change your current workflow for how you announce your events? We got you! Simply add our discord bot to your server in a simple 2 clicks, and you now have access to a whole new audience. Our discord bot auto detects any new events announced in your server and with the help of AI parses your text and posts it on Discover UofT without you having to do anything extra.

How we built it

Frontend:

Built with Next.js and TypeScript, this app uses modern React features, Tailwind CSS, Framer Motion for animations, and Lucide-react icons. NextAuth handles authentication. Key features include a dynamic Gallery carousel, Post component with social sharing, and asynchronous event data fetching with filtering/sorting/pagination. React Toastify handles errors, and the app uses a component-driven architecture.

Backend:

Integrated a NextJs backend with API calls to an MySQL backend. Used the openai api to tag each event from a pre-defined list of tags, and to choose the user's preferences using the questionnaire.

Algorithms:

Used the users preference alongside their recently viewed events to create weighted vectors. Then used those vectors to score each event and picked the top 5 events with some weighted randomness as to not always have the same suggestions. The similar events algorithm works in a similar way.

Discord bot:

(All you reyaan idk what to put at all)

Challenges we ran into

Our biggest problem was with pull requests. Sometimes we would be so focused on coding that we forget to push our code regularly which caused a lot of conflicts when it came to merge our branches, which cost us precious time.

Accomplishments that we're proud of

An accomplishment we are proud of is the fact that we were able to identify a problem within our community and we were able to build a viable solution to that problem within 36 hours. Not only were we able to solve this problem but we were also able to add on more features to make the experience of our users even better. Another thing we are proud of is that we made sure that we did not rush through our code just to create something that "works". We wanted to make sure our product was scalable and robust and planned for the future when designing this project.

What we learned

One major thing we learnt is the importance of staying on top of your version control and git merges. If you just took a couple minutes every hour or two, you could save yourself hours of conflicts in the future. That is one lesson we definitely won't forget in the future.

What's next for Discover UofT

As discussed earlier when we designed this project, we had the future in mind. We hope to release Discover UofT as a real product and partner with clubs to increase their reach to more students. Additionally we are looking at the possibility of presenting this project to the University of Toronto to incorporate this as their official website for club events. As to what features we hope to add to Discover Uoft, we have a couple in mind. One thing we want to add is an option to also post through multiple mediums such as discord, instagram and on our website through one click.

Built With

Share this project:

Updates