-
Notifications
You must be signed in to change notification settings - Fork 134
Open
Labels
good first issueGood for newcomersGood for newcomers
Description
Location: backend/src/workspaces/
Description
ManageHub needs a Workspaces module on the backend to manage coworking spaces, private offices, meeting rooms, and other bookable resources within a hub. This issue covers the foundational setup — the database entity, the NestJS module, and the bare service/controller scaffold that subsequent issues will build on.
The platform uses NestJS with TypeORM and PostgreSQL. The synchronize: true flag is active, so schema changes apply automatically on restart. All monetary values (prices) must be stored in kobo (smallest Nigerian currency unit) as integers to avoid floating-point errors.
Acceptance Criteria
- A
Workspaceentity is created atbackend/src/workspaces/entities/workspace.entity.tswith the following fields:id— UUID, primary key, auto-generatedname— string, requireddescription— text, optionaltype— enum:OPEN_DESK,PRIVATE_OFFICE,MEETING_ROOM,EVENT_SPACE,VIRTUAL_OFFICEcapacity— integer (number of seats), requiredpricePerHourKobo— integer, nullablepricePerDayKobo— integer, nullablepricePerMonthKobo— integer, nullableamenities— simple-array of strings, nullableimages— simple-array of strings (URLs), nullableisActive— boolean, defaulttruecreatedAt/updatedAt— auto timestamps
- A
WorkspacesModuleis created atbackend/src/workspaces/workspaces.module.tswithTypeOrmModule.forFeature([Workspace])registered - A
WorkspacesServicestub is created atbackend/src/workspaces/providers/workspaces.service.ts - A
WorkspacesControllerstub is created atbackend/src/workspaces/workspaces.controller.tswith the@Controller('workspaces')decorator -
WorkspacesModuleis imported intobackend/src/app.module.ts -
npx tsc --noEmitpasses with no errors
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
good first issueGood for newcomersGood for newcomers