Inspiration
Oftentimes, programmers of all skill levels find themselves looking for places to practice programming and algorithmic thinking, either for educational purposes, or just for fun. Sites such as Project Euler exist with small programming problems, but none where users, such as teachers, can create their own.
What it does
CodeCoop allows users to create small programming and algorithmic challenges, and test cases to evaluate solutions with. Visitors to the site can write code in python to try to solve them.
How we built it
Brython was used to allow users to run python code in browser, avoiding the need to run user-submitted code server-side. CodeCoop is hosted on Heroku, and uses a Python-Flask back end, with PostgreSQL database.
Challenges we ran into
Finding a way to securely run user submitted code was difficult. We chose Brython because it allowed users to only run code in their own browser. With a SQL back end, we had to be careful to avoid SQL injection attacks.
Accomplishments that we're proud of
We are proud to have gotten as far as we did in this time frame. Moreover, we were able to get components working with each of the new tools that we learned. We worked together as a team, using Git to allow the development of multiple components simultaneously, and everyone has code in the application.
What We learned
Brython, Postgres, and the flask-login Flask extension were new tools for us. Learning how to use these was a great experience, and they will surely come in handy in the future.
What's next for CodeCoop
CodeCoop is not yet done; some features still need implementing, and the UI is a bit rough around the edges to say the least. We hope to transform CodeCoop into a much more polished, useable, website following the success of our proof of concept from this weekend.
Built With
- brython
- flask
- heroku
- postgresql
- python
Log in or sign up for Devpost to join the conversation.