Month 7 Workshops

Week 1 Workshop: Authentication and Authorization

Scenario 1: Implementing OAuth 2.0 for Social Login

  • Workshop Description: In this scenario, students will learn how to integrate OAuth 2.0 authentication for social login into a Node.js application. They will implement authentication with popular platforms like Google or Facebook and understand the OAuth flow.

  • Workshop Objectives:

    • Set up OAuth 2.0 authentication.

    • Create routes and controllers for social login.

    • Handle user profile information.

    • Ensure security and authorization.

Scenario 2: Role-Based Access Control (RBAC)

  • Workshop Description: This workshop focuses on RBAC implementation. Students will create a system with different user roles and permissions. They will learn to restrict access to specific routes based on user roles and validate user actions.

  • Workshop Objectives:

    • Design RBAC roles and permissions.

    • Implement middleware for authorization checks.

    • Secure API endpoints based on user roles.

    • Test role-based access control.

Week 2 Workshop: SQL Databases and PostgreSQL

Scenario 3: Building a RESTful API with PostgreSQL

  • Workshop Description: Students will build a RESTful API using Node.js and PostgreSQL as the database. They will create endpoints for CRUD operations and explore SQL queries for data manipulation.

  • Workshop Objectives:

    • Set up a PostgreSQL database.

    • Create RESTful API routes.

    • Perform SQL queries for data retrieval and manipulation.

    • Test the API using Postman or a similar tool.

Scenario 4: Data Migration and Seeding with Knex.js

  • Workshop Description: In this workshop, students will work with Knex.js, a query builder for Node.js. They will learn to perform database migrations, which are essential for versioning database schema changes, and database seeding to populate initial data.

  • Workshop Objectives:

    • Install and configure Knex.js.

    • Create and run database migrations.

    • Seed the database with sample data.

    • Understand the importance of database versioning.

Week 3 Workshop: API Security and Best Practices

Scenario 5: Implementing API Rate Limiting

  • Workshop Description: Students will explore API rate limiting as a security measure to prevent abuse and ensure fair usage of APIs. They will implement rate limiting middleware and test its effectiveness.

  • Workshop Objectives:

    • Implement rate limiting middleware.

    • Define rate limits for different routes.

    • Test the API for rate limiting enforcement.

    • Handle exceeded rate limits gracefully.

Scenario 6: API Documentation with Swagger

  • Workshop Description: In this workshop, students will create interactive API documentation using Swagger. They will learn how to define API endpoints, request and response schemas, and generate user-friendly documentation.

  • Workshop Objectives:

    • Set up Swagger for API documentation.

    • Define API endpoints and models.

    • Generate interactive API documentation.

    • Showcase the importance of clear API documentation.

Week 4 Workshop: Deployment and Hosting

Scenario 7: Continuous Integration and Continuous Deployment (CI/CD) with GitHub Actions

  • Workshop Description: Students will set up a CI/CD pipeline using GitHub Actions. They will automate the testing and deployment process for their Node.js application whenever changes are pushed to the repository.

  • Workshop Objectives:

    • Configure GitHub Actions workflows.

    • Automate testing with each push.

    • Deploy the application to a hosting platform.

    • Monitor the CI/CD pipeline for errors.

Scenario 8: Performance Optimization and Monitoring

  • Workshop Description: This workshop focuses on performance optimization and monitoring. Students will learn to use tools like New Relic or similar solutions to monitor their deployed applications and optimize performance.

  • Workshop Objectives:

    • Set up performance monitoring tools.

    • Identify performance bottlenecks.

    • Optimize code and database queries.

    • Monitor application health and performance.

These scenarios will provide hands-on experience and practical skills to students during Month 7 of their advanced back-end development program. Each scenario addresses key topics in authentication, authorization, databases, API security, and deployment, ensuring that students are well-prepared for real-world development challenges.

Last updated