Inspiration
I have taken several java programming classes in our school and I 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 I 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 I have experienced while taking programming classes at school was submitting the code. I 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. It abstracts away the developer environment to allow students to focus purely on coding and it allow teachers to manage their classes efficiently.
Students are able to join a teachers class and complete assignments. It has 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. I was unaware of this when I started building so it was not an easy when I eventually had to move to sass. Also I ran into CORS errors when I 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
I think I managed to get a lot done in such a short time frame. I also really like the frontend design since it is clean and engaging. The site is also quite performant which is surprising since it's using a lot of obscure libraries.
What we learned
I learned how to implement more complex products with many working parts. I also improved our skills with using Vue.js and Node.js.
What's next for Codly
My roadmap includes making it easier for teachers to add their own problems, adding canvas integration, and improving functionality of the classroom experience.
Log in or sign up for Devpost to join the conversation.