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