Back-end Application Development Capstone Project

IBM via Coursera

Go to Course: https://www.coursera.org/learn/backend-development-capstone-project

Introduction

**Course Review and Recommendation: Back-end Application Development Capstone Project** In today's rapidly evolving tech landscape, mastering back-end development is more critical than ever. The *Back-end Application Development Capstone Project*, offered as the final course in the IBM Backend Development Professional Certificate on Coursera, stands out as an essential pathway for those looking to deepen their expertise and gain real-world experience. This course uniquely positions itself as a comprehensive project that simulates the responsibilities and challenges faced by contemporary back-end developers. ### Overview The primary goal of this capstone project is to immerse students in the practical aspects of back-end development. Participants are expected to take on the role of a back-end developer, tasked with developing and deploying back-end microservices and applications. This project will not only solidify your theoretical knowledge but also provide hands-on experience with industry-standard tools and frameworks. ### Syllabus Breakdown **Module 1: Getting Started** The course opens by introducing Flask, a lightweight Python web framework. In this module, learners will gain foundational skills in building Flask applications, understanding how to effectively respond to user requests, and handling errors. A particularly engaging aspect is the application assignment, where you’ll create a service that generates pictures from past events, offering a taste of real-world applications. **Module 2: Creating Get Songs Service with Flask** This module dives into the realm of NoSQL databases. With the growing emphasis on data scalability, understanding NoSQL is pivotal. You’ll learn the basics and advantages of NoSQL databases before getting hands-on with MongoDB. Through practical labs, you will harness MongoDB to create a Songs microservice, leveraging both Flask and MongoDB to connect services effectively. **Module 3: Main Django Application** Next up is the hands-on development of a Django application. This module accentuates the creation of data models, table relationships, and implementing business logic through controllers. The integration of Django reinforces the importance of different frameworks in back-end development and provides a robust understanding essential for many real-world applications. **Module 4: Deploy your application and services** An indispensable part of back-end development is deployment, and this module delivers on that front with coverage of Code Engine, OpenShift, and Kubernetes. You’ll learn to create DockerFiles for your microservices and deploy them on IBM’s cloud infrastructure. This module is particularly valuable as understanding deployment processes and tools like Kubernetes is crucial for any aspiring developer. **Module 5: Final Submission and Peer Review** In the concluding module, you'll compile your work and submit it for peer review. This component promotes collaborative learning, as you assess others' projects, allowing for constructive feedback and enhancing your critical analysis of code quality and application functionality. ### Recommendation I highly recommend the *Back-end Application Development Capstone Project* for those eager to transition from theoretical learning to practical skill application in back-end development. The structure of the course, coupled with the real-world projects, ensures that participants not only learn but also apply what they’ve learned in a meaningful way. **Pros:** - Relevant and practical curriculum that reflects current industry standards. - Comprehensive coverage of vital frameworks and databases, including Flask, Django, and MongoDB. - Hands-on deployment experience with modern platforms (IBM Cloud Code Engine, OpenShift, Kubernetes). - Opportunity for peer interaction and feedback. **Cons:** - As this is a capstone project, a solid understanding of prior modules in the IBM Backend Development Professional Certificate is necessary to maximize the benefits from this course. - Some learners may find the pace of the modules challenging if they are entirely new to back-end development. In conclusion, this capstone project serves as a crucial stepping stone for budding back-end developers. By the end of the course, you will not only have created a deployable application but will also possess a portfolio piece that can be invaluable in the job market. If you're willing to take the plunge into back-end application development, this course is an excellent choice.

Syllabus

Module 1: Getting Started

In the first module, you will learn about Flask, a lightweight python-based web application framework. The module will teach you how to create a Flask application that responds to user requests at specific URLs. You will also learn about handling both server and user errors. You will learn how to make external API calls from Flask. You will apply these lessons to create a service that produces pictures from past events.

Creating Get Songs Service with Flask

With the advent of Big Data and agile development methodologies, the database landscape has evolved with NoSQL databases gaining more importance and relevance. The main benefit of using NoSQL databases is the ability to effectively handle scalability and flexibility issues presented by the latest complex applications. In this second module, you will learn various flavors of NoSQL database products and practice using them in multiple hand-on labs throughout the course. You will start by learning the history and the basics of NoSQL databases and discover their key characteristics and benefits. Then you will learn about the four NoSQL databases and how they differ from each other. You will further learn how to work with MongoDB shell. You will then get hands-on experience using MongoDB basic commands, querying, and connecting from Flask. You will create the songs microservice using MongoDB and Flask.

Module 3: Main Django Application

In the third module, you will get hands-on practice creating a Django application and connecting it to services. You will be asked to create a data model and use the Django migration tool to create the tables and relationships. You will then create controllers to implement business logic to send the appropriate data to the provided templates.

Module 4: Deploy your application and services

In Module 4, you will deploy your application and services using Code Engine, OpenShift, and Kubernetes. You will first learn about IBM Cloud code engine and how it helps in deployment of your applications. You will create a DockerFile for the Pictures and deploy it to IBM code engine. You will create a second DockerFile for the Songs microservice and deploy it to an OpenShift cluster. You will learn how to push the docker images for the microservices to IBM Container Registry. Finally, you will deploy the main application to IBM Kubernetes Service using YAML deployment files.

Module 5: Final Submission and Peer Review

In the final module, you will need to submit the screenshots from the hands-on labs for peers to review. You will also need to provide URLs for the microservices and the Django application. In addition, you may be asked to submit GitHub repo links to enable peers to review your code. After you submit your project, you will need to review and grade one of your peer’s submissions.

Overview

This is the final course in the IBM Backend Development Professional Certificate. This capstone project course will give you the chance to practice the work that back-end developers do in real life when working with applications. In this course, you will assume the role of a real-life developer working to develop and deploy back-end microservices and applications. You will be tasked to develop, deploy, and integrate an application composed of several microservices, and integrating them seaml

Skills

Django (Web Framework) Mongodb Docker Flask Representational State Transfer (REST)

Reviews