Backend
Welcome to the Backend module! This section is designed to take your programming skills to the next level by diving deeper into how the internet works and how to build a RESTful backend API. Over the course of six weeks, you will gain the knowledge and hands-on experience needed to create a server that interacts seamlessly with databases and serves data to applications.
Module Overview
1. Backend Introduction
In the introductory chapter, we will set the stage for your backend journey. You'll learn about the role of servers and APIs in web development, and how they enable communication between applications. This foundational understanding will empower you to build a RESTful backend API that can interact with databases.
- Learning Objectives:
- Understand how the internet works and how computers communicate.
- Learn about servers and what constitutes an API.
- Define your goal: to build and publish a RESTful backend API.
2. Backend Basics
This chapter covers the fundamentals of building a web API using Express.js. You'll set up a web server, create routes, and manage HTTP requests and responses.
- Learning Objectives:
- Explain what a Web API is and its importance.
- Set up a server using Express.
- Implement routing and middleware in an Express application.
- Challenge: Create an API that exposes JavaScript functionality from your previous work.
3. Databases and SQL
In this chapter, you'll dive into the world of databases. You'll learn about relational databases, specifically PostgreSQL, and how to perform CRUD operations using SQL. An introduction to Docker will also enable you to run databases locally.
- Learning Objectives:
- Explain what a database is and understand PostgreSQL tables.
- Perform CRUD operations on a relational database.
- Concepts Covered: Database design, SQL syntax, and the use of Docker for database management.
4. Music Library with Express.js and PostgreSQL
Here, you'll apply your database knowledge by developing a music library application using Express.js and PostgreSQL. This project will challenge you to implement a fully functional API that can perform CRUD operations on a music database.
- Learning Objectives:
- Design and implement an API for managing a music library.
- Key Concepts: Database design principles and SQL querying.
5. Book Library (Optional)
This optional chapter allows you to create an Express API for a book library system. Users will be able to create accounts, list books, and loan books to others. This exercise encourages independent work and creativity as you expand the functionality of the API.
- Learning Objectives:
- Interpret user stories to plan development tasks.
- Set up advanced features using node-postgres and Sequelize for database interactions.
- Advice: Focus on understanding requirements, writing tests, and addressing errors methodically.
Throughout the Backend module, you will encounter a variety of challenges that build upon your knowledge incrementally. By the end of this module, you will have a solid understanding of backend development, enabling you to create robust and scalable web applications. Prepare to embrace the challenges and grow your skills as a developer!