Django research equipment management
A tested Django engineering system for shared research instruments, temporal qualification, calibration readiness, supervision, maintenance, conflict-safe booking, controlled usage, and audit verification.

Project definition
Problem statement
Shared laboratory instruments cannot be scheduled safely with a simple calendar when qualification, supervision, calibration, maintenance, lead time, local operating hours, duration, and turnaround must agree.
The system must also prevent concurrent active reservations, reject stale human decisions, and retain evidence of each lifecycle action without collecting real personal information.
Project objectives
- Model equipment readiness, temporal qualification, supervision, maintenance, operating hours, and padded reservation windows.
- Prevent overlapping active bookings in both the service layer and PostgreSQL.
- Control request, approval, rejection, check-in, completion, and cancellation with actor and revision guards.
- Build and verify a canonical hash-linked booking event chain.
- Measure the policy with deterministic scenarios, automated tests, and container integration.
Project structure
Project components
Equipment policy
Evaluates interval length, lead time, Asia/Kolkata operating hours, status, calibration, qualification, supervision, maintenance, and reservations.
Reservation control
Stores half-open padded ranges and uses a conditional PostgreSQL exclusion constraint to reject overlapping active use.
Qualification evidence
Tracks equipment-specific operator or supervised levels with validity and revocation boundaries for synthetic actors.
Maintenance coordination
Serialises technician blocks and researcher bookings through the same equipment row lock.
Lifecycle and audit
Guards approval, rejection, check-in, completion, cancellation, revisions, actual minutes, and hash-linked events.
Reports and evidence
Provides bounded utilisation output, audit verification, deterministic scenario files, diagrams, and a project evidence console.
Methodology
Project workflow
- 01Inspect equipment and qualification
A synthetic researcher reads the equipment catalogue and their equipment-specific qualification records.
- 02Preview and request
The policy returns all eligibility reason codes before the transactional service creates an active padded reservation.
- 03Approve or reject
A laboratory manager acts on the exact revision they reviewed and retains an event for the decision.
- 04Check in and complete
An authorised actor checks in within the permitted window and completion derives actual usage minutes.
- 05Coordinate and verify
A technician creates non-conflicting maintenance, while an auditor verifies the booking event chain and utilisation result.
Demonstration scenario
A qualified synthetic researcher requests a two-hour SEM session. A duplicate interval is rejected, a manager approves the current revision, a stale cancellation is rejected, the current cancellation succeeds, and an auditor verifies the three linked events.
Engineering
Tools and method
- Pure Python policy
- Immutable proposal and evidence values keep scheduling rules deterministic and independent of Django.
- Django REST API
- Bounded serializers, fixed-time key comparison, synthetic actor validation, scoped reads, purpose-specific commands, and structured domain errors.
- PostgreSQL persistence
- Timestamp ranges, GiST exclusion, btree_gist, transactions, row locks, revisions, and event records protect durable state.
- Testing
- pytest covers policy boundaries, database constraints, roles, lifecycle, stale decisions, utilisation, API contracts, and event alteration.
- Reproducibility
- Docker Compose runs PostgreSQL 18.6 and Gunicorn, while retained scripts rebuild scenarios, figures, documents, and validation evidence.
Testing
Evaluation
Evaluation measures
- 42 of 42 labelled policy scenarios match exactly
- 42 of 42 scenarios remain deterministic across 100 repeats
- 4,242 total scenario evaluations
- 86 passing tests
- 98.6 percent line, 94.74 percent branch, and 97.95 percent total coverage
- PostgreSQL integration verifies authentication rejection, booking conflict, approval, stale revision, cancellation, and a valid three-event audit chain
Project boundaries
- All actors, equipment, bookings, qualifications, and utilisation values are synthetic.
- A calibration due date is an administrative control and does not establish metrological traceability.
- The event chain is tamper-evident and is not external notarisation or tamper prevention.
- The system does not control physical equipment, safety, samples, institutional identity, billing, or production availability.
Included
- 01Equipment policy engine, guarded booking API, maintenance coordination, PostgreSQL exclusion constraint, audit verifier, and engineering evidence console
- 02Prepared sample data and demonstration scenarios
- 03Automated tests and measured results
- 04Complete source code in a private GitHub repository
- 05Complete project documentation in PDF and editable Word formats with synopsis, abstract, methodology, architecture diagrams, test results, screenshots, and conclusion
- 06Setup and usage guide
Project record
No information is collected on this page.
- Permanent project ID
- GP-CS-0MH4MS4
- Catalogued
- 21 Aug 2026
- Completed
- 25 Aug 2026
- Verified
- 25 Aug 2026
- Demonstration
- Included in repository
Handover
After purchase
- 01Payment is confirmed
The project is marked unavailable and cannot be purchased again.
- 02Repository access is granted
The buyer's submitted GitHub account receives access to the private repository.
- 03The purchase record is delivered
The certification sheet is prepared from the reviewed buyer details and sent privately by email.