# Schedule 2022-Q2
```plantuml
@startgantt
printscale weekly zoom 5
' printscale daily zoom 2
saturday are closed
sunday are closed
2022-05-01 is close
{Kevin} is off on saturday
{Kevin} is off on sunday
{Andy} is off on saturday
{Andy} is off on sunday
{Maxim} is off on saturday
{Maxim} is off on sunday
{Powen} is off on saturday
{Powen} is off on sunday
{Daniel} is off on saturday
{Daniel} is off on sunday
{Rick} is off on saturday
{Rick} is off on sunday
{Muzo} is off on saturday
{Muzo} is off on sunday
{Penny} is off on saturday
{Penny} is off on sunday
{Andrew} is off on saturday
{Andrew} is off on sunday
Project starts 2022-04-11
-- <back:STRATEGY>HA/DR Plans</back> --
[Service Architecture diagram 1] as [arch-diagram-1] on {Kevin} {Rick} {Powen} {Daniel} {Maxim} starts at 2022-04-11 and lasts 1 day
[Service Architecture diagram 2] as [arch-diagram-2] on {Kevin} {Rick} {Powen} {Daniel} {Maxim} starts at 2022-04-18 and lasts 1 day
[Each service HA/DR solution discuss 1] as [ha-dr-1] on {Kevin} {Rick} {Powen} {Daniel} {Maxim} starts at 2022-04-25 and lasts 1 day
[Each service HA/DR solution discuss 2] as [ha-dr-2] on {Kevin} {Rick} {Powen} {Daniel} {Maxim} starts at 2022-05-02 and lasts 1 day
[Each service HA/DR solution discuss 3] as [ha-dr-3] on {Kevin} {Rick} {Powen} {Daniel} {Maxim} starts at 2022-05-09 and lasts 1 day
[Each service HA/DR solution discuss 4] as [ha-dr-4] on {Kevin} {Rick} {Powen} {Daniel} {Maxim} starts at 2022-05-16 and lasts 1 day
[Each service HA/DR solution discuss 5] as [ha-dr-5] on {Kevin} {Rick} {Powen} {Daniel} {Maxim} starts at 2022-05-23 and lasts 1 day
[Each service HA/DR solution discuss 6] as [ha-dr-6] on {Kevin} {Rick} {Powen} {Daniel} {Maxim} starts at 2022-05-30 and lasts 1 day
[Implementation Plan 1] as [ha-dr-plan-1] on {Kevin} {Rick} {Powen} {Daniel} {Maxim} starts at 2022-06-06 and lasts 1 day
[Implementation Plan 2] as [ha-dr-plan-2] on {Kevin} {Rick} {Powen} {Daniel} {Maxim} starts at 2022-06-13 and lasts 1 day
-- <back:STRATEGY>Separate Machines Design Phase</back> --
[Clarify environments] on {Maxim} lasts 2 days
[List & draw current envs] on {Maxim} lasts 2 days
[Clarify environments] -> [List & draw current envs]
[Refine locations & machine requirements] on {Rick} {Powen} {Kevin} lasts 2 days
[List & draw current envs] -> [Refine locations & machine requirements]
[List & draw new envs] on {Powen} lasts 2 days
[Refine locations & machine requirements] -> [List & draw new envs]
[Clarify service dependencies] on {Andy} lasts 2 days
-- <back:STRATEGY>Separate Machines Development & Testing</back> --
[VM setup (Cloud)] on {Rick} lasts 2 days
[List & draw new envs] -> [VM setup (Cloud)]
[GitLab Runner setup (Cloud)] on {Maxim} lasts 2 days
[VM setup (Cloud)] -> [GitLab Runner setup (Cloud)]
[Modify deployment script (Cloud)] on {Maxim} lasts 4 days
[GitLab Runner setup (Cloud)] -> [Modify deployment script (Cloud)]
[Service mocking & adjustment] as [service-mocking] on {Maxim} lasts 15 days
[Clarify service dependencies] -> [Service mocking & adjustment]
[Database seeding] as [database-seeding] on {Andy} lasts 10 days
[Clarify service dependencies] -> [Database seeding]
-- <back:STRATEGY>Separate Machines Staging & Production</back> --
[Certificate purchasing] on {Rick} lasts 2 days
[List & draw new envs] -> [Certificate purchasing]
[Migration meeting] on {Powen:20%} {Rick:20%} {Maxim:20%} {Andy:20%} {Kevin:20%} lasts 1 days
[List & draw new envs] -> [Migration meeting]
[Migration plan] on {Powen} lasts 3 days
[Migration meeting] -> [Migration plan]
[Machine & Certificate ready] happens at 2022-05-01
[VM setup (On-prem)] on {Rick} lasts 4 days
[Machine & Certificate ready] -> [VM setup (On-prem)]
[Firewall config] on {Rick:50%} {Maxim:50%} lasts 2 days
[VM setup (On-prem)] -> [Firewall config]
[GitLab Runner setup (On-prem)] on {Maxim} lasts 2 days
[VM setup (On-prem)] -> [GitLab Runner setup (On-prem)]
[Firewall config] -> [GitLab Runner setup (On-prem)]
[Modify deployment script (On-prem)] as [deployment-script] on {Maxim} lasts 2 days
[GitLab Runner setup (On-prem)] -> [Modify deployment script (On-prem)]
[D day] happens at 2022-05-01
[Execute! (Production)] on {Maxim} lasts 2 days
[D day] -> [Execute! (Production)]
-- <back:STRATEGY>Separate Machines Blocks</back> --
[CD for Dev & Testing] happens at [GitLab Runner setup (Cloud)]'s end
[Fronted CD script] on {Muzo:50%} {Penny:25%} {Andrew:25%} lasts 1 days
[CD for Dev & Testing] -> [Fronted CD script]
[Frontend pages development] happens at [Fronted CD script]'s end
''[Fronted CD script] -> [Frontend pages development]
-- <back:STRATEGY> Backend CI (20 days) </back> --
[Backend Project Listing] as [BPL] on {Maxim:50%} {Andy:50%} starts at [database-seeding]'s end and lasts 2 days
[One Account Backend CI Setup] as [OABCS] on {Maxim:50%} {Andy:50%} starts at [BPL]'s end and lasts 3 days
[PGN Online Subscription CI Setup] as [PGNOSCS] on {Maxim:50%} {Andy:50%} starts at [OABCS]'s end and lasts 2 days
[Other Project CI Setup] as [OPCS] on {Maxim:50%} {Andy:50%} starts at [PGNOSCS]'s end and lasts 13 days
-- <back:STRATEGY> Frontend CI (10 days) </back> --
[Frontend Project Listing] as [FPL] on {Muzo:50%} {Penny:25%} {Andrew:25%} lasts 2 days
[Frontend CI Design] as [FCD] on {Muzo:50%} {Penny:25%} {Andrew:25%} starts at [FPL]'s end and lasts 3 days
[One Account Admin CI Setup] as [OAACS] on {Muzo:50%} {Penny:25%} {Andrew:25%} starts at [FCD]'s end and lasts 3 days
[One Account Subscription CI Setup] as [OASCS] on {Muzo:50%} {Penny:25%} {Andrew:25%} starts at [OAACS]'s end and lasts 2 days
-- <back:STRATEGY> Mobile CI (5 days) </back> --
[iOS CI Setup] as [ICS] on {Yuta} lasts 5 days
-- <back:STRATEGY> SRE Development/Testing CD (30 days) </back> --
[CD Setup Development/Testing] as [DEV-CDS] on {Rick} starts at [service-mocking]'s end and lasts 15 days
-- <back:STRATEGY> SRE Staging/Production CD (30 days) </back> --
[CD Setup Staging/Production] as [PROD-CDS] on {Rick} starts at [deployment-script]'s end and lasts 15 days
-- <back:STRATEGY>Frontend Components</back> --
[Icon] as [Icon] on {Penny} lasts 1 day
[Button] as [Button] on {Penny} starts at [Icon]'s end and lasts 1 day
[Header] as [Header] on {Penny} starts at [Button]'s end and lasts 1 day
[DataGrid] as [DataGrid] on {Penny} starts at [Header]'s end and lasts 3 days
[Timeline] as [Timeline] on {Penny} starts at [DataGrid]'s end and lasts 2 days
[Metric] as [Metric] on {Penny} starts at [Timeline]'s end and lasts 2 days
[Loading] as [Loading] on {Penny} starts at [Metric]'s end and lasts 1 day
[Note] as [Note] on {Penny} starts at [Loading]'s end and lasts 1 day
[Tag] as [Tag] on {Penny} starts at [Note]'s end and lasts 1 day
[Tabs] as [Tabs] on {Penny} starts at [Tag]'s end and lasts 1 day
[Status] as [Status] on {Penny} starts at [Tabs]'s end and lasts 1 day
[Processing] as [Processing] on {Andrew} starts at [Icon]'s end and lasts 3 days
[Input] as [Input] on {Muzo} starts at [Processing]'s end and lasts 7 days
[Search] as [Search] on {Muzo} starts at [Input]'s end and lasts 2 days
[Modal] as [Modal] on {Muzo} starts at [Search]'s end and lasts 2 days
[Popup] as [Popup] on {Muzo} starts at [Modal]'s end and lasts 2 days
[Tooltip] as [Tooltip] on {Muzo} starts at [Popup]'s end and lasts 1 day
[Table] as [Table] on {Andrew} starts at [Processing]'s end and lasts 7 days
[Pagination] as [Pagination] on {Andrew} starts at [Input]'s end and lasts 2 days
[PdfReader] as [PdfReader] on {Andrew} starts at [Pagination]'s end and lasts 3 days
[Toast] as [Toast] on {Andrew} starts at [Pagination]'s end and lasts 1 days
[Filter] as [Filter] on {Andrew} starts at [Toast]'s end and lasts 2 days
[Accordion] as [Accordion] on {Andrew} starts at [Filter]'s end and lasts 2 days
-- <back:STRATEGY>Frontend Page Tasks</back> --
[3 PGN Subscription] on {Muzo} starts at 2022-05-01 and lasts 15 days
[4 Sales Consent and Termination Agreement] as [sales-agreement] on {Andrew} starts at [Accordion]'s end and lasts 15 days
[3-3 寄送交易確認書] on {Andrew} starts at [sales-agreement]'s end and lasts 5 days
[6 商品管理] as [product-management] on {Penny} starts at 2022-05-01 and lasts 2 days
[3-1 商品資訊(PGN)] as [product-info] on {Penny} starts at [product-management]'s end and lasts 2 days
[3-2 寄送通知書(PGN)] on {Penny} starts at [product-info]'s end and lasts 2 days
@endgantt
```