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.
