Course Description: Unit 1 - 240 hours
Focusses on the basics of web development, Ruby, Ruby on Rails and some JavaScript.
Part 1
You begin by getting accustomed to the basics of web development, Ruby, Ruby on Rails, version control, the command line and running services such as a database. You will also start to develop an understanding of industry standards, such as writing user stories, wireframing, mobile-first design and scrum.
With this foundational knowledge, you will begin your first major project by starting to build a personal CV/portfolio/blogging site in Ruby on Rails that you will continue to develop over the first two units.
Part 2
You will continue to extend your blog by adding the ability for users to comment on your blog posts. You'll then be introduced the concept of background workers, why they are important and how to use them to deliver emails to users. You will also build an understanding of the importance of security around how to store sensitive information, and how to refactor your code into service classes.
Part 3
By the end of Part 3, you will have a better understanding of relational databases and associations in Rails, as you will be building a custom commenting system from the ground up. You will also learn how to implement authentication so that visitors to your site have to log in before they can post any comments. Afterwhich, you will publish your blog to the web by hosting it on Heroku for the rest of the world to see!
Part 4
In part 4, you will be implmenting GraphQL into your blogging platform and adding API endpoints that will be needed in Unit 2. GraphQL is a very new technology, developed by facebook, and is an alternative approach to using REST for APIs.
You will also be developing a deeper understanding of JavaScript and building some simple apps with ReactJS and NextJS. Which provides you with a foundation for when you begin Unit 2.
Unit 2 - 240 hours
Focusses on frontend JavaScript frameworks and interacting with your blog through an API.
Part 1
Now that you have a better understanding of JavaScript and ReactJS, you will rebuild the front-end of your blog in ReactJS. You will use this in conjuntion with NextJS so that you can easily implement Server-Side Rendering; this will make your blog load faster and be indexed by Google easier. These will be covered by Jest tests to ensure that your blog continues to look correct.
Part 2
You will now start to make use of the GraphQL API endpoints you implemented into your Rails app in the previous unit. By implementing Apollo you can communicate to your Rails app and display your blog posts through your ReactJS frontend application.
Part 3
Part 3 starts by reimplementing authentication on the frontend, so that your users can leave comments on posts again. You will also be adding some authentication to your API endpoints so that other services can't request your blog posts without permission.
Part 4
Finally, you will be refactoring your Rails app, removing any controllers and views that are no longer needed now that we have recreated them in the ReactJS frontend application. Your final task for your blog, will be to learn how the Top 10 security risks apply to web applications developed using Node.js and how to effectively address them.
Unit 3 - 160 hours
The final unit introduces you into our commercial projects team to contribute to mission critical applications and builds a real understanding of day-to-day processes. You will also attain the commercial experience needed to be an exciting prospect for industry employers.
Final Assessment & Certification
The Personal Project is an independent piece of work, which gives you the opportunity to display the skills and knowledge you have acquired throughout the course. Once completed, it will be assessed and graded on a range of criteria. You will also receive a certificate upon completion, which is endorsed by Shift Commerce. The certificate and completed project are a great way to show off your range of abilities to potential employers.
You will typically be building one of the following as your Personal Project:
- eCommerce platform
- Hotel/flight booking platform
- Taxi booking platform
- Auctioning platform
- Betting platform
By the end of the course, you will be following industry practices of implementing and maintaining test suites, using CI platforms, peer reviewing code, being involved in daily stand-ups, using Scrum to manage and implement new features, pair programming of features and usage of services such as Github, Slack, Codeship and Heroku.