Backend Development (Node.js, Django, Flask, Ruby on Rails) Training Course

Backend Development (Node.js, Django, Flask, Ruby on Rails) Training Course

This comprehensive five-day training course is designed to equip participants with the essential knowledge and practical skills required to develop robust and scalable backend applications using a variety of popular frameworks. Participants will gain hands-on experience in building server-side logic, designing and interacting with databases, creating APIs, and implementing authentication and authorization, with a focus on industry best practices and modern development techniques.

The course will cover a range of critical topics, including Node.js with Express.js, Python with Django and Flask, Ruby on Rails, database design and management (SQL and NoSQL), API development (RESTful and GraphQL), authentication and authorization, server deployment, and testing. Through interactive sessions and practical projects, participants will develop the competencies to build and deploy backend systems for web and mobile applications.

Who should attend the training

  • Backend developers
  • Full-stack developers
  • Web developers
  • Software engineers
  • Application developers
  • Computer science graduates
  • Anyone interested in building server-side applications

Objectives of the training

  • Understand the fundamentals of backend development.
  • Learn to build applications using Node.js with Express.js.
  • Develop skills in Python backend frameworks: Django and Flask.
  • Master Ruby on Rails for web application development.
  • Design and manage databases (SQL and NoSQL).
  • Create RESTful and GraphQL APIs.
  • Implement user authentication and authorization.
  • Learn to deploy backend applications.
  • Write effective tests for backend systems.
  • Understand server-side security best practices.
  • Learn about asynchronous programming and event-driven architectures.
  • Explore different architectural patterns for backend development.
  • Understand caching techniques for performance optimization.
  • Learn about real-time communication with WebSockets.
  • Understand containerization with Docker.
  • Explore serverless computing.
  • Learn about message queues and background job processing.
  • Develop skills in monitoring and logging backend applications.

Personal benefits

  • Enhanced skills in backend development using multiple frameworks.
  • Improved ability to design and build scalable and maintainable applications.
  • Increased proficiency in API development and database management.
  • Greater understanding of server-side security and deployment strategies.
  • Expanded career opportunities in web and software development.

Organizational benefits

  • Improved efficiency in developing and deploying web applications.
  • Increased capacity to build robust and scalable backend systems.
  • Enhanced ability to create APIs for application integration.
  • Reduced development time and costs.
  • Improved application performance and security.

Training methodology

  • Interactive lectures and presentations
  • Group discussions and brainstorming sessions
  • Hands-on coding exercises and workshops
  • Practical session: Building a RESTful API with Node.js and Express.js.
  • Live demonstrations of backend development techniques
  • Practical session: Developing a web application using Django.
  • Case studies of successful backend architectures
  • Practical session: Creating a microservice with Flask.
  • Individual and group projects
  • Practical session: Building a complete application with Ruby on Rails.
  • Use of industry-standard tools and technologies
  • Practical session: Implementing user authentication in a backend application.
  • Peer review and feedback sessions
  • Practical session: Deploying a backend application to a cloud platform.

Course duration: 5 days

Training fee: USD 2500

Module 1: Introduction to Backend Development

  • Understanding the role of the backend in web applications
  • Overview of backend frameworks: Node.js, Django, Flask, Ruby on Rails
  • Introduction to server-side programming concepts
  • Understanding HTTP protocol and web servers
  • Backend development best practices
  • Practical session: Setting up a local development environment.

Module 2: Node.js and Express.js

  • Introduction to Node.js and its event-driven architecture
  • Building web applications with Express.js
  • Routing and middleware in Express.js
  • Working with asynchronous operations and callbacks
  • Handling requests and responses
  • Practical session: Building a RESTful API with Node.js and Express.js.

Module 3: Python and Django

  • Introduction to Python for backend development
  • Building web applications with Django
  • Django's Model-View-Template (MVT) architecture
  • Creating models, views, and templates
  • Handling forms and user input
  • Practical session: Developing a web application using Django.

Module 4: Python and Flask

  • Introduction to Flask microframework
  • Building web applications with Flask
  • Routing and view functions in Flask
  • Working with templates and forms
  • Creating RESTful APIs with Flask
  • Practical session: Creating a microservice with Flask.

Module 5: Ruby on Rails

  • Introduction to Ruby and the Rails framework
  • Rails's Model-View-Controller (MVC) architecture
  • Creating models, views, and controllers
  • Routing and RESTful conventions in Rails
  • Working with databases using Active Record
  • Practical session: Building a complete application with Ruby on Rails.

Module 6: Database Design and Management (SQL)

  • Relational database concepts and SQL
  • Designing database schemas
  • Creating and managing tables
  • Writing SQL queries for data manipulation
  • Database normalization and optimization
  • Practical session: Designing a database schema for a specific application.

Module 7: Database Design and Management (NoSQL)

  • Introduction to NoSQL databases
  • Working with MongoDB
  • Understanding document-oriented databases
  • Performing CRUD operations in MongoDB
  • Choosing between SQL and NoSQL databases
  • Practical session: Implementing data storage using MongoDB.

Module 8: API Development (RESTful)

  • Understanding RESTful API principles
  • Designing RESTful APIs
  • Implementing API endpoints
  • Handling request and response formats (JSON)
  • API documentation and testing
  • Practical session: Designing and building a RESTful API.

Module 9: API Development (GraphQL)

  • Introduction to GraphQL
  • Understanding GraphQL schemas and types
  • Querying data with GraphQL
  • Mutations and subscriptions in GraphQL
  • Comparing RESTful and GraphQL APIs
  • Practical session: Building a GraphQL API.

Module 10: Authentication and Authorization

  • Implementing user authentication
  • Handling user sessions and cookies
  • Implementing user authorization and roles
  • Using authentication libraries and middleware
  • Securing APIs with authentication and authorization
  • Practical session: Implementing user authentication in a backend application.

Module 11: Server Deployment

  • Deploying backend applications to production
  • Configuring web servers (Nginx, Apache)
  • Setting up databases in production
  • Using deployment tools and services
  • Monitoring and logging deployed applications
  • Practical session: Deploying a backend application to a cloud platform.

Module 12: Testing Backend Applications

  • Writing unit tests for backend code
  • Writing integration tests for APIs
  • Using testing frameworks (Jest, pytest, RSpec)
  • Test-driven development (TDD) principles
  • Debugging and troubleshooting backend issues
  • Practical session: Writing unit and integration tests for a backend application.

Module 13: Server-Side Security

  • Protecting against common web vulnerabilities
  • Input validation and sanitization
  • Preventing SQL injection and cross-site scripting (XSS)
  • Implementing secure authentication and authorization
  • Handling sensitive data securely
  • Practical session: Implementing security best practices in a backend application.

Module 14: Asynchronous Programming and Event-Driven Architectures

  • Understanding asynchronous programming
  • Working with promises and async/await
  • Implementing event-driven architectures
  • Using message queues and event buses
  • Handling background tasks and job processing
  • Practical session: Implementing asynchronous operations in a backend application.

Module 15: Architectural Patterns

  • Exploring different backend architectural patterns
  • Monolithic architecture
  • Microservices architecture
  • Serverless architecture
  • Choosing the right architecture for a project
  • Practical session: Designing the architecture for a scalable web application.

Module 16: Caching

  • Understanding caching techniques
  • Implementing server-side caching
  • Using caching middleware and libraries
  • Cache invalidation strategies
  • Improving application performance with caching
  • Practical session: Implementing caching in a backend application.

Module 17: Real-time Communication

  • Implementing real-time communication
  • Understanding WebSockets
  • Building real-time features (chat, notifications)
  • Using real-time frameworks and libraries
  • Scaling real-time applications
  • Practical session: Building a real-time chat application.

Module 18: Containerization and Serverless Computing

  • Introduction to containerization with Docker
  • Building and deploying applications with Docker
  • Introduction to serverless computing
  • Deploying applications to serverless platforms
  • Benefits and limitations of serverless computing
  • Practical session: Containerizing a backend application with Docker.

Requirements:

·       Participants should be reasonably proficient in English.

·       Applicants must live up to Armstrong Global Institute admission criteria.

Terms and Conditions

1. Discounts: Organizations sponsoring Four Participants will have the 5th attend Free

2. What is catered for by the Course Fees: Fees cater for all requirements for the training – Learning materials, Lunches, Teas, Snacks and Certification. All participants will additionally cater for their travel and accommodation expenses, visa application, insurance, and other personal expenses.

3. Certificate Awarded: Participants are awarded Certificates of Participation at the end of the training.

4. The program content shown here is for guidance purposes only. Our continuous course improvement process may lead to changes in topics and course structure.

5. Approval of Course: Our Programs are NITA Approved. Participating organizations can therefore claim reimbursement on fees paid in accordance with NITA Rules.

Booking for Training

Simply send an email to the Training Officer on training@armstrongglobalinstitute.com and we will send you a registration form. We advise you to book early to avoid missing a seat to this training.

Or call us on +254720272325 / +254725012095 / +254724452588

Payment Options

We provide 3 payment options, choose one for your convenience, and kindly make payments at least 5 days before the Training start date to reserve your seat:

1. Groups of 5 People and Above – Cheque Payments to: Armstrong Global Training & Development Center Limited should be paid in advance, 5 days to the training.

2. Invoice: We can send a bill directly to you or your company.

3. Deposit directly into Bank Account (Account details provided upon request)

Cancellation Policy

1. Payment for all courses includes a registration fee, which is non-refundable, and equals 15% of the total sum of the course fee.

2. Participants may cancel attendance 14 days or more prior to the training commencement date.

3. No refunds will be made 14 days or less before the training commencement date. However, participants who are unable to attend may opt to attend a similar training course at a later date or send a substitute participant provided the participation criteria have been met.

Tailor Made Courses

This training course can also be customized for your institution upon request for a minimum of 5 participants. You can have it conducted at our Training Centre or at a convenient location. For further inquiries, please contact us on Tel: +254720272325 / +254725012095 / +254724452588 or Email training@armstrongglobalinstitute.com

Accommodation and Airport Transfer

Accommodation and Airport Transfer is arranged upon request and at extra cost. For reservations contact the Training Officer on Email: training@armstrongglobalinstitute.com or on Tel: +254720272325 / +254725012095 / +254724452588

 

Instructor-led Training Schedule

Course Dates Venue Fees Enroll
Armstrong Global Institute

Armstrong Global Institute
Typically replies in minutes

Armstrong Global Institute
Hi there 👋

We are online on WhatsApp to answer your questions.
Ask us anything!
×
Chat with Us