Building APIs doing Outside-In TDD in Node and Typescript

Why take this course?
_Course Title: Building APIs Doing Outside-In TDD in Node and TypeScript (express & mongoDB)
Course Headline: A Practical Example on How to Build REST APIs Doing Outside-In TDD in Node, TypeScript, and Jest (Express & MongoDB)
Introduction
Welcome to the comprehensive course where you'll learn to build robust APIs using Node.js, TypeScript, and a touch of Test Driven Development (TDD) with an Outside-In approach. This is not just theory; you'll be applying these concepts in a real-world scenario by creating a REST API similar to the One Time Secret website.
Course Overview
🔍 Learning Objectives:
- Understand and apply TDD principles with an Outside-In approach.
- Gain hands-on experience in building APIs using Node, TypeScript, Express, and MongoDB.
- Learn to design APIs based on an OpenAPI Specification (OAS) file.
- Explore the intersection of Domain-Driven Design (DDD), Hexagonal Architecture, and CQRS in API development.
What You'll Build
In this course, you will create a REST API that allows users to store secrets and retrieve them once—and only once. This project serves as an excellent practice ground for applying TDD while also understanding the implications of building stateless services with ephemeral resources. 🚀
- API Design: You'll start by interpreting an OpenAPI Specification (OAS) to design your API endpoints.
- Implementation: Build the REST API using Node.js, Express for routing, and MongoDB with Mongoose for data storage.
- Testing: Write tests first, leveraging Jest to ensure your application behaves as expected.
- Architectural Best Practices: Apply concepts from DDD, Hexagonal Architecture, and CQRS to structure your code effectively.
Course Structure
-
Setting the Stage:
- Introduction to TDD and Outside-In approach.
- Setting up your development environment with Node, TypeScript, and necessary tools.
-
API Design:
- Understanding and using the OpenAPI Specification (OAS) for API design.
- Translating OAS into a clear, testable specification.
-
Outside-In TDD Workflow:
- Writing acceptance tests from the perspective of an external user.
- Implementing unit tests for the internal components step by step.
-
Building the API:
- Setting up Express to handle HTTP requests and routing.
- Integrating MongoDB with Mongoose for data persistence.
- Ensuring your API is secure, efficient, and scalable.
-
Testing and Refinement:
- Writing end-to-end tests to validate the user experience against the OAS specification.
- Refactoring code as needed to improve performance and maintainability.
-
Advanced Concepts:
- Exploring DDD, Hexagonal Architecture, and CQRS within the context of your API.
- Applying these concepts for better modularity and scalability.
-
Capstone Project:
- Combining all you've learned to build a fully functional One Time Secret API clone.
- Peer review and code walkthrough to solidify your understanding.
Why This Course?
- Practical Skills: Gain hands-on experience in applying TDD in real-world scenarios.
- In-Depth Learning: Understand the intricacies of REST API design, development, and testing.
- Expert Guidance: Learn from Josep Mir, an experienced instructor with a passion for clean code and pragmatic software solutions.
- Community Engagement: Join a community of like-minded learners and share your progress and insights.
Course Materials
- Interactive video tutorials.
- Exercise files and code examples.
- Quizzes and knowledge checks to reinforce learning.
- Access to a community forum for discussion and support.
🚀 Embark on your journey towards mastering API development with Test Driven Development today! 🌟
Note: This course is designed for intermediate developers familiar with Node.js, TypeScript, and basic TDD concepts. Prior knowledge of REST API design, Express framework, MongoDB, and Jest testing framework is recommended to get the most out of this learning experience. Let's build something amazing together! 🛠️✨
Loading charts...