Rahva Raamat E-commerce Platform
Welcome to the comprehensive developer documentation for Rahva Raamat, Estonia's largest bookstore chain and digital content provider. This documentation covers the complete e-commerce backend system that powers their hybrid retail platform.
What is Rahva Raamat?
Rahva Raamat is Estonia's premier bookstore chain that has evolved into a comprehensive digital content platform. Our e-commerce backend supports:
- Physical Retail: Traditional bookstores across Estonia
- Digital Content: E-books, audiobooks, and digital media
- Subscription Services: Monthly/yearly digital content access
- B2B Operations: Wholesale and corporate client services
Platform Overview
Our platform addresses the complex challenges of managing a hybrid retail business by providing:
Multi-format Product Support
- Books, e-books, audiobooks, office equipment, music, movies, games
- Digital content with DRM protection
- Physical product inventory management
Comprehensive User Management
- Multi-role authentication (Admin, Vendor, Client, Customer, Company, Wholesale)
- Role-based access control
- Social login integration
Advanced Order Processing
- Multi-channel order management (web, mobile, physical stores)
- Real-time order tracking
- Automated notifications
Payment & Subscription Systems
- Multiple payment gateways (Swedbank, SEB, LHV, Coop, Luminor)
- Open Banking (PSD2) compliance
- Subscription billing and management
Digital Content Management
- Audiobook streaming with Wowza Media Server
- E-book DRM protection with LCP
- Progress tracking and shelf management
Documentation map (category-wise)
Follow this order if you are new to the project:
- Onboarding Pack — KT / delivery ownership (start here)
- Local Setup Roadmap — get the app running locally
- Project Structure — admin / api / console / common layout
- Environment Setup — install tools and run locally
- Database Schema — tables and relationships
- Authentication — roles and security
- Commerce & Ordering — basket, checkout, payments
- Integrations — NAV, Kafka, Elasticsearch (Search Functionality, Spool, Reliability)
- Admin & API — admin panel and HTTP APIs
- Infrastructure & Production — SSL, PM2, server, monitoring (IN-xxx)
- Deployment & Testing — release and tests
- Monitoring & Operations — logs, cron, cleanup
Technology Stack
- Backend: PHP / Yii2
- Database: MySQL
- Search: Elasticsearch
- Cache: Redis
- Storage: AWS S3
- Media: Wowza Media Server
- Payment: EveryPay / Estonian banks (PSD2)
Quick Start
- Read the Onboarding Pack
- Open the Local Setup Roadmap
- Read Project Structure
- Follow Environment Setup
- Configure Database Schema and Configuration Files
- Review Project Overview and API Documentation
Support
For questions, issues, or contributions:
- Check the FAQ & Troubleshooting section
- Review the Contributing Guidelines
- Consult the Glossary for terminology
This documentation is maintained by the Rahva Raamat development team and covers the complete e-commerce backend system.