Inspiration

We built Learn JavaScript because learning a new programming language resonated with us the most when talking about the theme of our project, upskilling.

What it does

Learn JavaScript is a website that breaks down learning JS into easy-to-digest modules. Users must first create an account to view the course content, after which all of the progress they make within modules will be saved to their personal account. Each module breaks down a specific concept first, and follows that up with tasks to consolidate the user's learning.

How we built it

We built the back-end using NodeJS and Express, with Passport being used for user authentication. All user data is stored on a MongoDB Atlas database. For the front-end we used HTML, CSS and JavaScript, with Axios.js being used to communicate with the server from the front-end. We divided our efforts into three areas, front-end, back-end and course content, and worked on them in parallel.

Challenges we ran into

Working on the back-end and front-end separately made it challenging to ensure any data being passed between us was done so in the format we were expecting. Also, working together on one repository together was new to all of us, so cooperating on submitting our respective parts was initially challenging.

Accomplishments that we're proud of

All three sections of the project, we believe, are the best that we could produce. In the front end, combining HTML, CSS and clever design techniques, we created an appealing and clean user interface. Content-wise we learnt effective ways to teach from a range of sources, and perfected it through our learn feature which split up the fundamentals of the language into modules demonstrating the computational thinking method of decomposition. We even provided a user with access to the learning modules and they have already said they feel comfortable with basic coding in JavaScript. Finally the back-end combined an optimised authentication solution using Passport.js, with a basic Express web server, and swift communication between our website and the MongoDB database using Mongoose which ultimately created a sleek and professional product for users to learn JavaScript.

What we learned

During the course of the project we learned how to authenticate users using passportjs. One of the members, William, also learned how to use NodeJS so he could help with the backend of project. We all learned how to use git and how to implement it into our project.

What's next for Learn JavaScript

We will continue to add the remaining three modules, to finish up the course. Adding an interactive code editor within the website could add a lot to the user experience, and expand what types of tasks we are able to create.

Share this project:

Updates