DEV Community

user01010011
user01010011

Posted on

FS Blog #4: Skiller - My Rails Project

For my Rails project, I'm building Skiller, a web application that helps students to learn technical skills through relevant courses. Students can use Skiller to sign up/create user accounts, log in and log out of their accounts, including 3rd party authentication, add and edit/update skills they want to learn and/or have already learned, add and edit/update courses they are taking or have taken in order to gain those skills. They would also be able to filter courses for specific skills, search for skills and courses, and rank their courses by importance or progress. By using Skiller, students will be able to better track and manage their technical skills and courses.

This is a lot more complex and dynamic web application than my previous very simple Sinatra project Course Tracker, where the students can only manage their courses, in addition to the basic sign in, log in, log out, validations, etc. For the Rails project, there needs to be at least 3 models, with several relationships, including one has_many relationship, one belongs_to relationship, two has_many through relationships, and one many_to_many relationship. There was also requirements for 3rd party signup/login, user authentication, validations for attributes, ActiveRecord scope method using ActiveRecord Query methods, nested resources with RESTful URLs, displaying validate errors, etc.

Building this project took me much longer than the Sinatra project, and there were many more challenges and and bug fixes. But the project and the process of building it was exciting, as I felt it was getting closer and closer to a fully functional real world application, compared with my previous two projects. I also loved figuring things out and debugging the code, because the feedback was immediate: the web app was either working or not working after I made changes to the code, and I could instantly see and interact with it. As the developer and a beta "user", this was pretty amazing. :)

For the building the Rails app, I primarily used Rails, the Ruby on Rails framework, ActiveRecord, Sqlite3, Omniauth, Puma, HTML, CSS, Bycrpt, and Byebug.

https://image.flaticon.com/icons/png/512/862/862528.png

Top comments (0)