A web platform for efficiently connecting students to research opportunities and professors
<< Live Website >>
Code Repository Links
Main
·
Frontend
·
Backend
·
Data/ML
A screen shot of a sample professor user's "postings" page for managing their open student research positions
Research Bay is a community-driven project built by students at the Developer Student Club at University of Illinois at Urbana-Champaign (UIUC) that aims to provide a streamlined and standardized platform for UIUC professors and students to easily connect with research opportunities and talent.
University of Illinois has thousands of research opportunities for students every year. However, many are unaware of what research opportunities exist. Currently, there is no standardized way of discovering or pursuing research with professors. To land a role, students must search for willing professors or hunt through physical job boards and endless department emails to find research programs and opportunities.
This is a serious community issue because research is essential for allowing students to gain hands-on experience, form professional connections with professors, and contribute to potential advancements in the field. Likewise, professors heavily rely on student talent to advance their projects.
Research Bay aims to provide a streamlined and standardized web platform for UIUC professors and students to easily connect with talent and research opportunities. Users are able to create personalized profiles focusing on their research interests. Professors can post research positions and be recommended best-fit students while students can search postings and be recommended research positions.
Research Bay is a project originally created to be submitted to the Developer Student Club program's annual Solution Challenge for 2020. As a result, the DSC @ UIUC team consistently strived to develop the project focused on the contest's grading criteria.
Research Bay is built as a scalable web application that uses the principles of REST and Serverless to be efficient, modular, and open to future expansion. It is separated into two main components: a React.js frontend app and a Serverless backend API powered by multiple Firebase/GCP services, such as Cloud Functions, Storage, and Firestore. The React.js website is currently deployed using Firebase Hosting and is available here. A mobile app in Flutter for Android is currently in the planning stage and would easily integrate with the existing backend.
For organized development, Research Bay's code is divided into the following three public Github repositories:
More detailed documentation specific to each component can be found in each repository's README file.
The following is a non-exhaustive, general overview of the various tools that are used to develop Research Bay.
Due to the structural nature of Research Bay, attempted changes to its internal Firebase deployment by external users will be rejected. Thus, a new Firebase and Algolia project must be created to deploy your own full instance of Research Bay (both frontend and backend). However, all of Research Bay's code is publicly accessible. Please follow the guide below to get started.
The latest versions of the following software are required:
-
Navigate to the Firebase Console
-
Click "Add Project"
-
Follow the on-screen prompts. Disable Google Analytics.
-
Once the project is created, enable and setup the following Firebase services:
- Authentication
- Enable only the Email/Password sign-in method without email link.
- Database (Firestore)
- Set to production mode.
- Once provisioned, create the following collections (schema isn't important yet):
postings
,profiles
,users
- Storage:
- Once provisioned, create the following folders within the default bucket:
picture
,resume
- Once provisioned, create the following folders within the default bucket:
- Hostings
- Functions
- Authentication
Instructions for better security rules for Firestore and Storage will be updated once the Research Bay team determines those that are fit for the project.
After the Firebase CLI is installed and the project has been created, do:
firebase login
git clone https://github.com/DSC-UIUC/rbay-frontend.git rbay-frontend
cd rbay-frontend
npm install
npm start
The React.js website should launch at localhost:3000
. Please post any issues with setup here. To deploy to Firebase Hosting, please follow detailed instructions here.
git clone https://github.com/DSC-UIUC/rbay-backend.git rbay-backend
cd rbay-backend
firebase init
When prompted, select to only initialize Firebase Cloud Functions. Afterwards, do:
cd functions
npm install
cd ..
firebase deploy --only functions
The Research Bay Cloud Functions should now be deployed. Any local changes to function code must be manually deployed to Firebase in the future.
git clone https://github.com/DSC-UIUC/rbay-data-ml.git rbay-data-ml
cd rbay-data-ml
pip install -r requirements.txt
cd recommendation_algorithm
From here, copy the recommendation.py and requirements.txt files into the gcp console and run. For testing the model after training it, do the following:
git clone https://github.com/DSC-UIUC/rbay-data-ml.git rbay-data-ml
cd rbay-data-ml
pip install -r requirements.txt
cd recommendation_scratch_space
python recommendation_algorithm.py
Run the models on some training data and pass in a text block to determine most optimal matches.
Please refer to Research Bay's three repositories and their respective READMEs for additional details, documentation, and examples.
With much of Research Bay's core features largely complete, the team has started planning for Research Bay's eventual public release to the University of Illinois population. Once all features and sufficiently refined, tested, and finalized, the team expects to begin a limited release of Research Bay to groups of selected students and professors at UIUC sometime in fall 2020 to gather more user feedback, make any necessary updates, and gradually prepare for a full release farther in the future. Ideally, Research Bay could expand to other universities to continue its mission in new regions.
The Research Bay team also plans to continue development and maintenance of this project. Current plans are briefly described below, listed in order of short-term to long-term goals. Future development will continue to emphasize scalability, clean design, and better user experience.
- UI Additions / Improvements
- Local filtering for search and recommendation results
- View and edit requirements for postings
- Faster loading times for actions
- Style / theme changes
- Backend Code Optimizations / Speedups
- Improve function code to reduce latency between client and server
- Remove redundant DB queries
- Recommendation / Search System Improvements
- Larger, more generalized training data
- Test with more user profiles and postings
- Mobile app
- Would be a new frontend interface to expand Research Bay's availability and reach
- Easy integration with existing backend
- Develop in Flutter
Research Bay was originally developed by student members of Developer Student Club at UIUC in the 2019-2020 school year. All students who made a non-trivial effort and contribution to this project are below. Special thanks to all of these hard-working students! 😄
Student | Role | Team |
---|---|---|
Keon (Isaac) Park | Lead Dev, Mentor | Frontend, Backend |
Dhvanil Popat | Dev | Frontend |
Rutu Brahmbhatt | Dev | Frontend |
Alex Li | Dev | Frontend |
Thomas Yang | Dev | Backend |
Steven Pan | Dev | Backend |
Aditya Sriram | Dev | Backend |
Neil Reddy | Dev | Data/ML |
Jonathan He | Dev | Data/ML |
Reetahan Mukhopadhyay | Dev | Data/ML |
Kavi Ravuri | Mentor | Backend |
Research Bay is developed and maintained by students in Developer Student Club at UIUC. If you are interested in contributing to this project or joining the club, please reach out to club staff at [email protected]. DSC @ UIUC will resume new member recruitment in fall 2020, and more information will be posted on the DSC @ UIUC website.
Distributed under the MIT License. See LICENSE
for more information.
Please feel free to email the DSC @ UIUC staff at [email protected] with any questions or concerns.
Special thanks to:
- Developer Student Club Program by Google Developers
- Daniel Fiorillo, DSC North America Community Manager