CollabU is a web application designed specifically for mobile devices. It is a valuable resourse for students who are willing to reach out to their peers, build their network or ask for advice with no access to their campus! (which is especially useful during the transition to online distance learning)
CollabU's target audience is currently enrolled students, but is not limited to only enrolled ones! Alumnis and high school folks who are considering different university/college options will also find it helpful!
CollabU relies on the matching algorithm which will take user's information (student's school, major and currently enrolled classes), ask for a desired service (Careed Advice, Major Advice, Classes Advice, Club/Activities, Friendly Chat, Collaboration) and will match the user with people who fit the provided criteria the most.
CollabU uses a number of open source projects to work operate:
-
Django - a high-level Python Web framework that encourages rapid development and clean, pragmatic design. CollabU uses Django and its Django-REST-Framework to handle backend logic, provide an API and manage the PostgreSQL database
-
ReactJS - a declarative, efficient, and flexible JavaScript library for building user interfaces. CollabU uses ReactJS as its main frontend tool to deliver the smooth and enjoyable user experience.
CollabU requires Python 3.6 or above and yarn package manager to be installed on the local machine.
Make sure you have Python 3.6 or above installed on your local machine.
- Clone/Download this repository and name the folder as you wish
- Navigate to <folder_name>/backend
- Create a virtual environment
python -m venv venv - Navigate to your environment and activate it
- Install the requirements
pip install -r requirements.txt - Create a database
python manage.py migrate - Create a superuser
python manage.py createsuperuser - Run the server
python manage.py runserver - Navigate to <folder_name>/frontend
- Install the project's dependencies
yarn install1Run the React scriptyarn start
Does it work? No? Perfect. It shouldn't.
Backend endpoints can be accessed at https://crested-talon-233500.uc.r.appspot.com/
- Clean this mess
- Integrate frontend with backend
- Think again about the structure
- Refactor, refactor, refactor