Demonstrate your mastery of JavaScript back-end application development by completing this capstone project! In this course, you will apply your knowledge and skills to a real-life inspired challenge and use your expertise to develop a successful solution.
The project provides you with an opportunity to solidify your JavaScript back-end proficiency. In this course, you develop a robust microservices back-end architecture using JavaScript, Node.js, Express, and MongoDB, and apply CI/CD and Kanban board practices.
In this capstone, you apply knowledge of in-demand skills such as:
- Write RESTful APIs with appropriate error handling
- Create MongoDB APIs for CRUD operations
- Test and invoke microservices to verify their functionality
- Implement back-end security best practices using JWT
- Integrate with a front end to deploy the full-stack app using IBM Code Engine and Kubernetes
Upon completion, you will have a working back-end application to showcase to potential employers.
Before starting this course, we recommend completing all the other courses offered in the IBM JavaScript Backend Software Developer Professional Certificate.
Overview
Syllabus
- Project Introduction, Repository Setup, User Stories and Database Setup
- In this module, you begin developing the "Second Chance" back-end application. You learn about the application for the project in a walk-through video and get a high-level perspective by reading about its architecture and requirements in the project overview. In the first of two labs in the module, you develop a GitHub user story template and subsequent user stories for the application’s development. In the second lab, you will apply your skills to set up the NoSQL MongoDB database that provides the data and data management for the application.
- Back-end APIs and Services
- In this module, you develop back-end APIs and services in three labs. In the first lab, you will create the API for handling secondChance Items. The API includes retrieving secondChanceItems from the database, fetching an item by its ID, adding an item to the secondChance database, modifying an item in the secondChance database, and deleting an item from the database. You configure the secondChanceItems route in the main Express application. In the second lab, you develop the search function API, including functionality to filter by different item attributes. You also integrate the search route into the Express application. In the third lab, you will develop an Express server to perform sentiment analysis using an NPM package that provides functionality for natural language processing.
- Authentication with JWT
- In this module, there are four labs. In three of the labs, you complete the development of three APIs in the back end to handle registration, login, and updates to the user profile securely. In the fourth lab, you integrate the front end (provided to you) with the back end. Then, you test the back end's functionality from the front end's perspective.
- CI/CD, Containerize, and Deploy
- In the two labs in this module, you will work to containerize and deploy your application. The first lab presents some CI/CD practices using linting with GitHub Actions to ensure the code meets coding standards. In the second lab, you will deploy MongoDB, the back-end server using Kubernetes, and the front-end server using IBM Code Engine.
- Final Project Submission and Peer Review
- In this module, you submit your final project for evaluation. A peer will evaluate your application and you will evaluate one of theirs. A rubric provides a list of criteria for assessment. The rubric also gives point values depending on the completeness of the criteria.
Taught by
Lavanya Thiruvali Sunderarajan and Upkar Lidder