From Zero to One: Architecture and Development Practices of the Meiya Beauty Video Community
The article shares Meiya's journey from a small startup to a full‑featured beauty video platform, detailing common early‑stage challenges, communication and protocol strategies, RESTful API design, development workflow, toolchain choices like Laravel, DB migrations, iOS libraries, ELK logging, and DevOps automation with SaltStack.
Meiya, a beauty‑video community launched in February 2015, quickly gained female users and its CTO, Yao Dongxu, presented the product’s lifecycle at UPYUN Open Talk, highlighting three typical early‑stage characteristics: small user base, rapid requirement changes, and an incomplete team.
To improve development efficiency, Meiya focused on reducing communication cost, avoiding duplicate work, and preventing over‑design. Communication cost was tackled by standardising protocols and processes, adopting a RESTful API style where resources such as posts are manipulated via standard HTTP verbs.
Example REST endpoints include: GET /posts – retrieve post list, GET /posts/{id} – retrieve a specific post, POST /posts – create a new post, DELETE /posts/{id} – delete a post, PUT /posts/{id} – update a post.
The development workflow was formalised into four environments (local, development, pre‑release, production). Code is managed with long‑living master and dev branches; feature or bug‑fix branches are merged into dev and later into master after review, with automated deployment to the pre‑release environment via Git hooks.
Team communication is centralised in Slack, which receives GitHub events and Fabric‑generated crash reports, giving every member visibility into feature releases, bug fixes, and runtime issues.
To avoid reinventing the wheel, Meiya adopted several mature frameworks and libraries. On the backend, Laravel was chosen for its RESTful support, DB migration tools for version‑controlled schema changes, Artisan commands for custom CLI tools, queues for asynchronous processing, Tinker for interactive debugging, and a configurable logging system.
For the iOS client, Mantle was used to automate model encoding/decoding, while TMCache and AFNetworking handled caching and networking respectively.
Log analysis and operational monitoring rely on the ELK stack (Elasticsearch, Logstash, Kibana). Logs from Nginx, application servers, and message queues are collected by Logstash, stored in Elasticsearch, and visualised in Kibana for real‑time issue detection and business analytics such as registration counts and user activity.
Operations are managed with SaltStack, using YAML files to describe server states, enabling version‑controlled configuration and mass updates of minion nodes via simple commands.
Overall, the talk demonstrates how a small startup can achieve scalable architecture and efficient development by standardising APIs, automating deployment pipelines, leveraging open‑source frameworks, and implementing robust monitoring and configuration management.
Architect
Professional architect sharing high‑quality architecture insights. Topics include high‑availability, high‑performance, high‑stability architectures, big data, machine learning, Java, system and distributed architecture, AI, and practical large‑scale architecture case studies. Open to ideas‑driven architects who enjoy sharing and learning.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.