Backend Developer Course by Meta.
Course 1 - Introduction to Back-End Development
- Distinguish between front-end, back-end, and full-stack developers.
- Create and style a webpage with HTML and CSS.
- The benefits of working with UI frameworks.
Course 2 - Programming in Python
- Foundational programming skills with basic Python Syntax.
- How to use objects, classes and methods.
Course 3 - Version Control
- Implement Version Control systems.
- Navigate and configure using the command line.
- Use a GitHub repository. Create a GitHub repository.
- Manage code revisions.
- Concepts and principles that underpin how databases work.
- Plan and execute a simple database development project.
Course 5 - Django Web Framework
Course details
- Build a web server.
- Data modeling.
- Implement web security best practices.
Course 6 - APIs
Course details
- API development.
- Principles of REST architecture.
- Build a basic API.
Course 7 -The Full Stack
Course details
- Build a Django app.
- Use the full stack.
- Configure an environment.
Course 8 - Back-End Developer Capstone
Course details
- Create a Django web server with multiple API endpoints.
- Connect Django to a MySQL database.
Course 9: Coding Interview Preparation
Course details
- Prepare for a coding interview.
- Prepare for a Meta interview.
- Solve problems using code.
Welcome to the comprehensive guide for the final assignment of the Backend Developer Capstone Course within the Meta Backend Developer Professional Certificate on Coursera. This guide is tailored to new users who are taking their first steps into the world of Django and APIs. We will walk you through the project's structure, installation, setup, environment variables, API endpoints, and testing procedures in detail.
This project consists of two key applications: api
and restaurant
. The api
app handles the API endpoints for the project, while the restaurant
app serves as the frontend. The config
directory within the project folder holds crucial project settings.
To get started, follow these steps:
-
Install the project dependencies using the following command:
pipenv install
-
Activate the virtual environment:
pipenv shell
Configure your project's database settings in the settings.py
file. The default settings are provided for a MySQL database, but you should adjust them according to your local setup.
# settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'littlelemon',
'HOST': 'localhost',
'PORT': '3306',
'USER': 'admin',
'PASSWORD': '',
'OPTIONS': {
'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
},
},
}
For secure API requests in the restaurant app, you'll need to set up environment variables. Follow these steps:
-
Inside the
restaurant
app folder, create a file named.env
and add the following lines, replacingyour_username
andyour_password
with your actual credentials:USERNAME=your_username PASSWORD=your_password
-
Make sure to have
django-environ
installed. You can install it by running:pipenv install
The api
app provides four main endpoints, each with its own set of actions and authentication requirements. You'll need to use JSON Web Tokens (JWT) for authorization. Here's how you can interact with these endpoints:
-
Menu Items
- GET: Retrieve all menu items (Requires Token)
- POST: Create a new menu item (Requires Token)
-
Menu Item Detail
- GET: Retrieve details of a menu item (Requires Token)
- PUT: Update a menu item (Requires Token)
- PATCH: Partially update a menu item (Requires Token)
- DELETE: Delete a menu item (Requires Token)
-
Bookings
- GET: Retrieve all bookings (Requires Token)
- POST: Create a new booking (Requires Token)
-
Booking Detail
- GET: Retrieve details of a booking (Requires Token)
- PUT: Update a booking (Requires Token)
- PATCH: Partially update a booking (Requires Token)
- DELETE: Delete a booking (Requires Token)