Partial is a purpose-built work management platform for hardware development. It connects engineers’ work items (tasks, deliverables, issues) directly to the parts they own, giving teams a single source of truth. Managers gain instant insight into program health, dependencies, and bottlenecks, while teams and the customer benefit from increased transparency and fewer status meetings.
- Track work items for parts they own
- Manage tasks, deliverables, and issues
- Collaborate with team members
- Update progress and status against program milestones
- Monitor program status
- Track team performance and workload
- Identify bottlenecks and blockers
- Manage milestones and trace their dependencies
- Hierarchical part management to reflect the actual hardware assembly (component → subsystem → system)
- Work items (tasks, deliverables, issues) link to specific parts, enabling part-centric views rather than people-centric stories/epics
- Hardware-specific deliverable types (drawing, BOM, CoC, ATP, etc.)
- Hardware-specific issue types (defect, failure, requirement waiver, etc.)
- Cradle to grave ownership of parts and work items through required user assignments
- Program analytics, team workload visualizations, and dynamic burndown charts
- Engineering discipline-based team organization (mechanical, electrical, structural, etc.) rather than feature/product-based
- Frontend: Next.js, Tailwind CSS, Redux Toolkit, Redux Toolkit Query, Material UI Data Grid
- Backend: Node.js with Express, Prisma (PostgreSQL ORM), better-auth
- Database: PostgreSQL
- Cloud: Railway
Ensure you have these tools installed:
- Git
- Node.js (v18 or higher recommended)
- npm (Node Package Manager)
- PostgreSQL (download from postgresql.org)
- PgAdmin (optional, for database management - download from pgadmin.org)
-
Clone the repository:
git clone https://github.com/FionnRuder/partial.git cd partial -
Install dependencies in both client and server:
cd client npm install cd ../server npm install
-
Set up the database:
cd server npx prisma generate npx prisma migrate dev --name init npm run seed -
Configure environment variables:
Create a
.envfile in theserver/directory with:NODE_ENV=development PORT=8000 DATABASE_URL=postgresql://user:password@localhost:5432/partial SESSION_SECRET=your-session-secret-here BETTER_AUTH_SECRET=your-better-auth-secret-here BETTER_AUTH_URL=http://localhost:3000 FRONTEND_URL=http://localhost:3000
Create a
.env.localfile in theclient/directory with:NEXT_PUBLIC_API_BASE_URL=http://localhost:8000
-
Run the project:
In one terminal, start the server:
cd server npm run devIn another terminal, start the client:
cd client npm run devThe application will be available at:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000