Gowrisankar Cursor commited on
Commit
473d9e5
·
1 Parent(s): 9175508

Update demo seed projects to Address Discovery, Hold IST, KTLO/Admin, Mainframe, and Pimcore PaaS.

Browse files

Replace generic sample project names with the Runn-style portfolio and align milestones and allocations.

Co-authored-by: Cursor <cursoragent@cursor.com>

Files changed (2) hide show
  1. SPEC.md +1 -1
  2. backend/services/seed_demo.py +43 -42
SPEC.md CHANGED
@@ -138,7 +138,7 @@ Set `ENABLE_DEMO_DATA=false` on the office Linux box to hide and disable these e
138
 
139
  Admin-only fictional dataset for exploring the portal (similar to Runn’s trial explore flow):
140
 
141
- - **7 people**, **5 projects**, roles, teams, skills, allocations (including one overallocated person), leaves, and public holidays
142
  - **Insights** (empty portal): “Load sample data” button with confirmation
143
  - **Manage → Users**: “Load sample data” / “Reload sample data”
144
  - **Hugging Face Spaces**: database is ephemeral — reload sample data after each deploy
 
138
 
139
  Admin-only fictional dataset for exploring the portal (similar to Runn’s trial explore flow):
140
 
141
+ - **7 people**, **5 projects** (Address Discovery, Hold IST, KTLO/Admin, Mainframe, Pimcore PaaS), roles, teams, skills, allocations (including one overallocated person), leaves, and public holidays
142
  - **Insights** (empty portal): “Load sample data” button with confirmation
143
  - **Manage → Users**: “Load sample data” / “Reload sample data”
144
  - **Hugging Face Spaces**: database is ephemeral — reload sample data after each deploy
backend/services/seed_demo.py CHANGED
@@ -138,45 +138,45 @@ def seed_demo_data(db: Session) -> dict[str, int]:
138
 
139
  project_specs = [
140
  (
141
- "Core Platform Upgrade",
142
- "infrastructure",
143
- "active",
144
- "#0ea5e9",
145
- "Platform hardening and observability rollout.",
146
- 0,
147
- ),
148
- (
149
- "Internal Portal v2",
150
  "development",
151
  "active",
152
- "#7c3aed",
153
- "Resource portal enhancements for IT planning.",
154
- 0,
155
  ),
156
  (
157
- "ERP Integration",
158
- "development",
159
- "planning",
160
- "#16a34a",
161
- "SAP connector and data sync initiative.",
162
- 5,
163
  ),
164
  (
165
- "Helpdesk Automation",
166
  "support",
167
  "active",
168
- "#f97316",
169
- "Ticket routing and self-service improvements.",
170
  6,
171
  ),
172
  (
173
- "Network Refresh",
174
  "infrastructure",
175
- "on_hold",
176
  "#0f766e",
177
- "Switching and Wi-Fi refresh for offices.",
178
  2,
179
  ),
 
 
 
 
 
 
 
 
180
  ]
181
 
182
  projects: list[Project] = []
@@ -197,13 +197,14 @@ def seed_demo_data(db: Session) -> dict[str, int]:
197
  db.flush()
198
 
199
  milestone_specs = [
200
- (0, "Discovery complete", 21, False),
201
- (0, "Go-live", 75, False),
202
- (1, "UI parity review", 28, True),
203
- (1, "Beta release", 56, False),
204
- (2, "Requirements signed off", 14, False),
205
- (3, "Pilot launch", 42, False),
206
- (4, "Vendor selection", 35, False),
 
207
  ]
208
  for project_index, mname, offset_days, completed in milestone_specs:
209
  db.add(
@@ -216,17 +217,17 @@ def seed_demo_data(db: Session) -> dict[str, int]:
216
  )
217
 
218
  allocation_specs = [
219
- (people[0].id, projects[0].id, 30, 0, 56),
220
- (people[1].id, projects[1].id, 50, 0, 70),
221
- (people[2].id, projects[1].id, 60, 0, 70),
222
- (people[3].id, projects[0].id, 40, 14, 42),
223
- (people[4].id, projects[3].id, 70, 0, 84),
224
- (people[5].id, projects[2].id, 30, 21, 49),
225
- (people[6].id, projects[1].id, 25, 0, 28),
226
- (people[2].id, projects[4].id, 55, 7, 63),
227
- (people[3].id, projects[3].id, 45, 0, 56),
228
- (people[2].id, projects[0].id, 80, 0, 56),
229
- (people[2].id, projects[2].id, 50, 0, 56),
230
  ]
231
 
232
  for person_id, project_id, pct, start_offset, end_offset in allocation_specs:
 
138
 
139
  project_specs = [
140
  (
141
+ "Address Discovery",
 
 
 
 
 
 
 
 
142
  "development",
143
  "active",
144
+ "#0ea5e9",
145
+ "Address and location data discovery — RMS Dev.",
146
+ 4,
147
  ),
148
  (
149
+ "Hold IST",
150
+ "support",
151
+ "on_hold",
152
+ "#f97316",
153
+ "IST pipeline on hold pending prioritization.",
154
+ 6,
155
  ),
156
  (
157
+ "KTLO/Admin",
158
  "support",
159
  "active",
160
+ "#a855f7",
161
+ "Keep the lights on and internal admin tooling.",
162
  6,
163
  ),
164
  (
165
+ "Mainframe",
166
  "infrastructure",
167
+ "active",
168
  "#0f766e",
169
+ "Mainframe platform maintenance and integration.",
170
  2,
171
  ),
172
+ (
173
+ "Pimcore PaaS",
174
+ "development",
175
+ "active",
176
+ "#7c3aed",
177
+ "Pimcore platform-as-a-service delivery — PIM Dev.",
178
+ 5,
179
+ ),
180
  ]
181
 
182
  projects: list[Project] = []
 
197
  db.flush()
198
 
199
  milestone_specs = [
200
+ (0, "Address catalog draft", 21, False),
201
+ (0, "Discovery sign-off", 56, False),
202
+ (1, "IST resume review", 35, False),
203
+ (2, "KTLO runbook published", 28, True),
204
+ (2, "Admin portal refresh", 49, False),
205
+ (3, "Mainframe patch window", 42, False),
206
+ (4, "PaaS staging ready", 14, False),
207
+ (4, "Pimcore go-live", 70, False),
208
  ]
209
  for project_index, mname, offset_days, completed in milestone_specs:
210
  db.add(
 
217
  )
218
 
219
  allocation_specs = [
220
+ (people[4].id, projects[0].id, 50, 0, 70),
221
+ (people[2].id, projects[0].id, 40, 0, 56),
222
+ (people[6].id, projects[1].id, 20, 0, 28),
223
+ (people[0].id, projects[2].id, 25, 0, 42),
224
+ (people[6].id, projects[2].id, 30, 14, 56),
225
+ (people[2].id, projects[3].id, 55, 7, 63),
226
+ (people[1].id, projects[3].id, 35, 0, 49),
227
+ (people[5].id, projects[4].id, 60, 0, 84),
228
+ (people[3].id, projects[4].id, 40, 14, 56),
229
+ (people[2].id, projects[4].id, 50, 0, 56),
230
+ (people[2].id, projects[0].id, 30, 21, 49),
231
  ]
232
 
233
  for person_id, project_id, pct, start_offset, end_offset in allocation_specs: