Inspiration

All of us have taken several java programming classes in our school and we felt that one of the most challenging aspects of learning java was not actually writing the code but configuring our environment and figuring out how to run our programs. Learning how to setup a developer environment is a very important skill but we feel that beginners can learn more efficiently by abstracting away the environment and code execution aspects of programming and just focusing on logic and syntax.

Another big problem that we experienced while taking programming classes at school was submitting our code. We had to follow all sorts of complex requirements to standardize our code so that our teachers would have an easier time trying to run and grade our submissions. Even then, they still had trouble running our code because everyone used a slightly different naming scheme and code organization. This not only makes teacher's jobs harder, it also means that students don't get feedback as often and aren't able to see where they went wrong.

What it does

Codly is a streamlined, simple system for teachers and students to practice coding. We abstract away the developer environment to allow students to focus purely on coding and we allow teachers to manage their classes efficiently.

Students are able to join a teachers class and complete assignments. We have a code editor that provides lots of features with out being overwhelming. Code is automatically saved so students never have to worry about losing their work. Upon submitting their code, students receive immediate feedback through stdout and stderr.

Teachers are able to create multiple classes and manage them seamlessly. They can invite students to their class using an invite code. Assignments consisting of problems made on the platform can be made for each class. They can also view the students in the class and review all of their submissions to make sure they know who is doing well and who needs guidance.

How we built it

The website is built in Vue.js and the backend runs on Node.js. A java library is used to run each student submission in its own secure environment.

Challenges we ran into

node-sass is a deprecated library. We were unaware of this when we started building so it was not an easy when we eventually has to move to sass. Also we ran into CORS errors when we tried to communicated between our hosted backend and frontend so the project only works reliably in localhost for now.

Accomplishments that we're proud of

We think we managed to get a lot done in such a short time frame. We also really like our frontend design since it is clean and engaging. Our site is also quite performant which is surprising since we're using a lot of obscure libraries. Finally, we're very proud of how we all worked together as team to get this product developed.

What we learned

We learned how to implement more complex products with many working parts. We also improved our skills with using Vue.js and Node.js. Finally, we learned how to work together in a team and delegate certain parts of the project to work more efficiently.

What's next for Codly

Our roadmap includes making it easier for teachers to add their own problems, adding canvas integration, and improving functionality of the classroom experience.

Acknowledgements

Our project builds upon work done by Luke Taylor on Codus. We created an independent java execution engine and built out a classroom management experience for teachers. We would like to thank the blairhacks mentors for helping us debug our node-sass issues during the hackathon.

Built With

+ 6 more
Share this project:

Updates