---
# System prepended metadata

title: Case

---

# Case

Imagine that you are joining as a Senior engineer at Zehitomo.

Your first mission is to develop a new functionality whose release date is set to 3 months from now. Please describe the process, system and tech architecture and collaboration with stakeholders from now to the release.

## Requirements
- Administration interface for service provide1rs (eg. flower shop, coiffeur, etc.)
    - Create/edit/publish/disable service opening
    - Assignes budget for advertisement campaings (=> improving ranking position in service search result page)
    - Track requests/revenue and ad campaigns related to service openings
- Please imagine that you will develop an independent functionality (=> development from scratch), but the functionality might rely on existing APIs

## Organization & team structure
- Sales & Growth organization
    - Growth team
        - Strategy for growing the business
    - Success team
        - Ineracts with existing customers
- Product & engineering organization
    - Manager
        - Allocates resources & budget, hiring, people management
    - Product Owner
        - Translates product roadmap into milestones/deliverables
        - Prioritizes deliverables
    - Tech lead
        - Responsible for all tech related decisions (incl. dev process)
    - Domain expert (SEO, B2B business)
        - Gives advice/help related to domain knowledge
        - Establish 
    - Technical Product manager
        - Translate requirements
    - Engineers
        - 5 Backend and 3 Frontend engineers
        - Work in small teams (3-4 person) based on assigned KPI or project
    - QA
        - Validate release, testing
    - Designer
        - Create mockups, CSS templates


## Tech stack

- Node.js
- Mongo DB
- React
- AWS

# Solution
 - 
    

## System architecture

Assumptions
 - 1M service providers
 - Not all of 1M may put ads, ~100K 
 - out of 100k not many may buy many coins, 10k may buy large amount of coins.
 - multiple ads per provider 
 - 

 - CRUD on nodejs + mongodb + search
 - ui/ux/ - react
 - aws - dynamodb + ttl  + balance of ad + sqs
 - mongodb doc - service page -> ad campaigns/rev/req

## Process/Schedule/Milestones


- 1 frontend, 3 backend 
- 3 milestones
    - 1.  implementation, mvp, working application - unit testing
    - 2. testing, polishing, adding any features that we planned but didnt add in the previous milestone
    - 3. testing extensively for edges, potential scaling issues, having some sort of beta
        - --> working app at the end of 3. milestone
        