The field of computer science is currently one of the most rapidly growing industries. Every day, more and more jobs are being created and the demand for programmers is increasing. Yet, computer science education is still lacking - especially for students in lower-income areas where there are not sufficient resources for a proper learning environment. Our solution aims to provide easy, accessible access to learn code from the bottom up and inspire a life long learning mindset.
What it does
We have built a free, easy to use online web IDE and compiler with a set of practice problems where users can challenge themselves and learn new skills. Users are able to select a problem they want to practice, then select a language of their choice, and begin learning. Users can also channel their creativity and build projects completely from scratch.
How I built it
M ongoDB to store compilation data for logging purposes
E xpress server to create the backend which renders the frontend
R eact to design and produce the front end of the website
N ode.js as an all purpose language which bridges the gaps between the front and back end
-AWS EC2 instance for hosting backend APIs and static web files -MongoDB atlas for a cloud computing database so we wouldn't have to run on our own servers -JWT authentication with PassportJS and bcrypt to encrypt passwords locally for security purposes -Redux with React for state management (we used this mainly for JWT authentication)
Challenges I ran into
JWT authentication was a confusing and tedious process which tested our logical programming abilities
EC2 servers were difficult to launch
Express was acting up when we were trying to connect the front end to the back end
Accomplishments that I'm proud of
We are really proud of having completed a project of this complexity in the given time limit, especially as this was our first time doing something like this
What I learned
We learned the entire process of deploying a web app for production with a working frontend and backend API.
We also learned and leveraged the tools which AWS provided to ease our programming process
What's next for Planet Code
Our future plans include expanding to more languages, including higher level code problems, and expanding usability to incorporate teacher resources
We hope to keep Planet Code completely free to use and help underprivileged schools incorporate it into their curriculum