Show your mastery of full stack 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 full stack proficiency. As you design a dynamic user experience, you will develop frontend pages, add user administration, build actions for database operations, create backend services, and configure CI/CD pipelines. You will boost your capabilities with HTML, CSS, JavaScript, Django, React, Node js and NoSQL (Mongo), Containerization, IBM Code Engine, Python, and Kubernetes. Then you will devise a solution for managing the containerized deployment of your application.
This project is created for you to apply knowledge of relevant and in-demand skills such as:
- Designing applications and their architecture
- Creating web frontends with static and dynamic pages using HTML, CSS, JavaScript and REACT
- Implementing user management and authentication
- Developing backend services and communicating with databases
- Continuously Integrating and Deploying changes using CI/CD pipelines
- Deploying serverless applications on Code Engine
- Creating and invoking RESTful microservices
- Deploying the entire solution on Cloud using Kubernetes
When you complete this project, you will have a working Full Stack application showpiece that will impress potential employers.
Before completing this project, it is highly recommended that you complete all the prior courses offered in the IBM Full Stack Software Developer Professional Certificate.
Overview
Syllabus
- Application - Static Pages
- In this module, you will fork the GitHub repo containing the project template. This template includes the main Django application and a skeleton structure of the front-end and back-end. After that, you will clone the repo and work in the lab environment to create static pages for your dealership.
- Application - User Management
- In this module, you will create the user management system to allow users to register, login, and logout. You will also build your front-end for the Django Application to provide a graphic user interface (GUI) for user management.
- Back End Services
- In this module, you will implement some endpoints in the Express application that transact with MongoDB. You will then containerize the Mongo and Express server using Docker and run it. Further, you will also set up Car Make and Car Model with Django Models and populate the database. You will then deploy a sentiment analyzer to the IBM Code Engine. Finally, you will create proxy services to access these external services.
- Application - Dynamic Pages
- In this module, you will add dynamic pages with REACT components to list the dealerships, filter the dealerships by State, view dealer details, and add dealer reviews.
- CI/CD, Containerize & Deploy to Kubernetes
- In this module, you will set a CI/CD action flow for linting all the JS and Python files you have created. You will then run all the server-side components, including the Express-Mongo server in a Docker container and the sentiment analyzer serverless deployment on Code Engine. Finally, you will build the front-end REACT application and deploy the Django application on Kubernetes.
- Share Your Project
- In this module, you will submit your work for peer review and also perform one peer review using the provided rubric and grading scheme.
- Enhancement of Car Dealership Portal
- In this module, you will apply your knowledge to enhance your Car Dealerships website. The module includes three labs, each offering a different enhancement to your portal. In the first part, you’ll enhance the front-end of your application by adjusting logic and addressing styling-related elements. The second part will help you enhance your application by developing a new back-end car inventory microservice and integrating it with the Django app back end. The third part is where you’ll construct and integrate the front-end that corresponds to the back-end enhancement implemented in Part 2. Following this, you’ll be elevating the output of your improved Django application.
Taught by
Upkar Lidder