Inspiration
A lot of work from professors, TAs, and students alike goes in to making programming assignments work in CS courses. Our project aims to streamline this procedure by providing a platform for users to check their code against others' interfaces. Our campus community, and campuses elsewhere, will benefit from the transparency and utility Crowd Code provides.
What it does
Crowd Code is a collaborative integration testing framework for the education community. Instructors and students can use Crowd Code to make the process of programming more transparent and interactive. Students, after signing through Google OAuth, are able to create projects that associate to projects within these classes. Students can then add their own black box test cases to these projects by uploading the input and the expected output file. In this way, Crowd Code is able to build a community-sourced base of test-cases to test upon.
How we built it
- React (Frontend)
- Flask (Backend)
- Firebase (Firebase Hosting)
- Heroku (Backend Hosting)
- Google Auth (Login and User Management)
React primary dependencies:
- Chakra (React component library)
- React Router (react-router-dom for switching between tabs)
- React Fade In (Basic fade in animations)
- React Typewriter Effect (Typewriting effect)
Challenges we ran into
Integration between the frontend, runner script, and backend was extremely challenging, as there had to be multiple avenues of communication between all three systems.
Accomplishments that we're proud of
Writing a lot of comprehensive backend code that supported the different methods of data communication.
What's next for Crowd Code
Crowd code has plenty of opportunity to scale. Some ideas we've thought that would bring positive impact include:
- Rating test cases to filter out the best/ideal test cases
- Compiling on server side instead of locally
- Ability to create users with different permissions, save histories
Log in or sign up for Devpost to join the conversation.