Spaces:
Running
Running
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 filesReplace generic sample project names with the Runn-style portfolio and align milestones and allocations.
Co-authored-by: Cursor <cursoragent@cursor.com>
- SPEC.md +1 -1
- 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 |
-
"
|
| 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 |
-
"#
|
| 153 |
-
"
|
| 154 |
-
|
| 155 |
),
|
| 156 |
(
|
| 157 |
-
"
|
| 158 |
-
"
|
| 159 |
-
"
|
| 160 |
-
"#
|
| 161 |
-
"
|
| 162 |
-
|
| 163 |
),
|
| 164 |
(
|
| 165 |
-
"
|
| 166 |
"support",
|
| 167 |
"active",
|
| 168 |
-
"#
|
| 169 |
-
"
|
| 170 |
6,
|
| 171 |
),
|
| 172 |
(
|
| 173 |
-
"
|
| 174 |
"infrastructure",
|
| 175 |
-
"
|
| 176 |
"#0f766e",
|
| 177 |
-
"
|
| 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, "
|
| 201 |
-
(0, "
|
| 202 |
-
(1, "
|
| 203 |
-
(
|
| 204 |
-
(2, "
|
| 205 |
-
(3, "
|
| 206 |
-
(4, "
|
|
|
|
| 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[
|
| 220 |
-
(people[
|
| 221 |
-
(people[
|
| 222 |
-
(people[
|
| 223 |
-
(people[
|
| 224 |
-
(people[
|
| 225 |
-
(people[
|
| 226 |
-
(people[
|
| 227 |
-
(people[3].id, projects[
|
| 228 |
-
(people[2].id, projects[
|
| 229 |
-
(people[2].id, projects[
|
| 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:
|