Blog Introduction
Hello, Adrian and Jake here! Welcome to our blog centred around CollegeGuide: our 3rd year project. We aim to document and discuss the software engineering process behind it all.
Generally, the blog entries will be weekly and will include our reflections, progress and plans throughout the timeframe where we develop CollegeGuide.
What is CollegeGuide?
CollegeGuide is a web application that aims to provide students with features we wished we could have when starting college (and what we still want now!). It fills in the gaps of DCU’s Loop, while offering a very different “by students, for students” approach.
The focus is on connecting and informing students, while also providing convenient functionality for day-to-day student needs. The features will include:
- Module Discussion Threads: where class representatives can create focused discussion threads for a module-related topic to engage live discussions.
- Advice Queries: where any student can ask questions on any module and receive relevant information from students in that module - perfect for those curious of optional modules or upcoming semesters!
- Note-sharing: where students can share their notes with other students in a module using a built-in Markdown editor (or converter, potentially).
- Chatbot: where quick responses to college-related questions are answered, such as upcoming lectures, room numbers, or reminders about projects and such.
- Project Partner Matcher: Where students can find others for group projects in their module through a more personalised approach. Every student will have their own profile where they can display their interests and such that will be evaluated to provide you with recommendations on potential project partners!
All of this is also encapsulated in a reward system to gamify and encourage engagement on our platform. Students will be able to customise and display their achievements, banners, levels, interests and such. They will be rewarded by peers for good notes shared on module boards, or through insightful responses to advice queries.
In summary, CollegeGuide aims to make things funner and more connected for students.
Some Technical Details
CollegeGuide will be implemented using a Django backend and a React frontend. Additional tools will include Vite for quick, efficient development of the frontend, as well as Tailwind CSS for cleaner UI/UX design.
Below shows an example of a module homepage for CSC1049 that provides access to all the module-related features mentioned above.
Technical Complexities
In order to implement some technical complexity into the project, we aim to design our own markdown editor, implement an Project Partner Matcher algorithm for finding the most ideal students for a project, and designing a robust reward and levelling system integrated into all components of the application.
We also aim to look into other integrations, like the college timetable and a campus navigation.
Finally, the chatbot will have to have access to data scraped from public DCU websites, including the DCU calendar API. This will ensure that the chatbot provides accurate responses based on the students information.
User Authentication and Moderation
Users will be authenticated using their college emails to ensure this is a student-only environment. Content posted on Discussion Threads, Advice Queries, Profile Pages or Notes will be automatically moderated to ensure a safe, well-behaved environment.
Class representatives will be trusted users that will have moderator and enforcement powers over the module pages of their semester. There will also be system administrators who will have moderator powers on all module pages.
The Database
Our database uses Django’s default Sqlite database that we may change. Currently, it is running on our local machines, but will be available to the public, potentially using DCU Redbrick Society’s servers.