Chalkboard is a free web education network with organised resources built to facilitate learning for those who source for knowledge on their own using the World Wide Web. It was modelled after the conventional methodology of a real life school system to better organise content and enable members with similar interests find themselves easily and also keep track of the learning resources they have interests in. Without signing up, users can explore the contents of the application like lessons, notes and discussions. The ability to contribute is the only restriction placed on an anonymous user e.g. modifying a lesson note or asking a question. Chalkboard is a platform where people with the desire to learn can find resources published by pro tutors and at the same time allow them (the ones with the desire to learn) rub minds with each other, because if experience has taught me anything it’s that sometimes a person who recently faced an obstacle uses the right words to help another who is in the same tight spot. Reminds me of one time I had a pro explain what a DOM is to me without a computer nearby.
If I was to write a book on my journey of learning programming and was later asked to build an application referencing the book to include all the key components from the various platforms that helped me to provide a better experience for those who follow the same path, Chalkboard will be the result of that project. Great platforms like Lynda.com, php.net and Laracast.com to name a few offered me the resources I need to learn programming, so I tried as much as could to incorporate them into one application (Chalkboard) and with a few of my own ideas to cement the blocks together.
What it does
Chalkboard is similar to most existing platforms out there but it is unique in the sense that it allows Moderators or Content Managers to create series of follow-up videos in one lesson to tackle minor issues that naturally would be tagged “Beyond the scope of this lesson” or shipped out as a separate package which might be named something a beginner won’t easily find (and that is assuming they know to look for it). It also features notes which allows the members to leave opinions on a lesson (Just like the php.net documentation section). These opinions can be modified but like a wiki, the owner or the creator of the note can decide if to go with it or revert to the previous version. To spice things up Chalkboard has a Coin feature to reward users for their contributions to the network. Claps, thumbs up and down feature also included. Conduct quiz on each lesson to gage how much the user learned. The school entity can be hooked to a Facebook Page to provide a better social experience if one exist.
How I built it
Chalkboard has always been locked deep down somewhere in my memory bank, something I hoped to one day bring to life someday when am financially ready to embark on a non-profit project. So as soon as I heard about the community challenge and what it was all about I knew it was the perfect project for the challenge. So first I pencilled down the initial ideas for the project, went straight to the Facebook developer product page to see which tools gave my targeted audience a better user experience. As soon as I got a handle on things it opened up a new door of possibilities, I guess from there it was like playing a game where I’m asked to pick whatever I wanted from a mall but I had only 1minute to do so.
Challenges I ran into
The first issue I had was being late at the party, as at the time I found out about the Challenge the closing date was less than two months away. I didn’t have the knowledge required to add some of the features I really wanted in the application. Finding a partner wasn’t easy either. Everyone interested in the competition in my DevC group was either working on another project or didn’t have the skill to fill the gap (I really needed a front end developer and a ReactJS savvy). Little time to fully test the application.
Accomplishments that I'm proud of
The fact that I was able to build an application that I believe would help a lot of people out there if backed by the community and properly maintained in a short period of time made me excited. If my application is bested by another in this competition, I would go ahead to develop it further to a point it attracts some investors.
What I learned
What's next for Chalkboard
When you look at a user node or profile, you’ll notice a Coin count. This is my own idea of “Achievements”. Users get awarded coins for contributing quality content to the network, for claps, best answers and quality notes. In the future I hope to include a mini ecommerce store where users can use their coins to purchase sponsored items from the site like branded T-Shirts, Coupons etc. These items will not be traded for money or any form of currency. Add an admin section to better manage the site’s administrative activities. Collect data from user’s quiz results to know how to help them or suggest learning materials or open up a review on lesson if majority of the students are not doing well. A lot of refactoring to remove repeated codes, N+1 problems and cache database queries where necessary. Add ReactJs for better user experience.