Categories :

Ruby Backend Pro: API, Testing, Advanced Practices

Duration: 6 weeks (1.5 months).

Level: Intermediate (solid knowledge of Ruby and Rails).

Format: Online lectures, practical assignments, mentoring, code reviews, consultations.

Tools: Rails API, RSpec, FactoryBot, Faker, Sidekiq, Redis, Docker, CI/CD, Postman.

Outcome: A high-quality backend project with API, tests, and production practices.

Detailed course program

Module 1: Creating a JSON API with Rails (Week 1)

  • Creating an API-only application on Rails (–api mode);
  • Routing for API: namespace, versioning;
  • Controllers and JSON serialization (ActiveModelSerializers, JBuilder);
  • Error handling and HTTP statuses;
  • API documentation (Swagger, OpenAPI).

Module 2: Testing APIs (Week 2)

  • RSpec for APIs: writing requests, testing endpoints;
  • FactoryBot and Faker for fixtures and test data generation;
  • Testing validations, authorization, API responses;
  • Integration and system tests.

Module 3: Working with background tasks (Week 3)

  • Introduction to Sidekiq and Redis;
  • Setting up and running background tasks;
  • Scheduling and monitoring tasks;
  • Error handling and retries;
  • Practice: sending emails, handling file uploads.

Module 4: Optimization and caching (Week 4)

  • Using cache (Rails.cache, Memcached, Redis);
  • Optimizing ActiveRecord queries (eager loading, includes, select);
  • Database indexes and performance analysis;
  • Logging and monitoring queries.

Module 5: Docker and CI/CD (Week 5)

  • Creating a Dockerfile for Rails API;
  • Docker Compose for local development;
  • Setting up CI/CD (GitHub Actions, GitLab CI, CircleCI);
  • Test and deployment automation;
  • Best practices for production.

Module 6: Working with external APIs and webhooks (Week 6)

  • Integration with external services (REST, OAuth);
  • Webhook processing: receiving and validating requests;
  • Processing asynchronous events;
  • Practice: integration with payment systems, messengers.

Final project:

  • Developing a full-fledged JSON API for a mobile application or admin panel;
  • Implementing authentication (JWT or OAuth);
  • Setting up background tasks, tests, and deployment via Docker and CI/CD;
  • Integration with external services (e.g., payments or notifications).

What you will gain:

  • A deep understanding of backend development in real projects;
  • Skills in writing high-quality tests and automation;
  • Experience working with advanced tools and architecture;
  • Skills in deploying and supporting production systems;
  • A full-fledged project for your portfolio and resume;
  • Personal consultations and code reviews from an experienced mentor.

Cost: from $349.