Viper is the PATCH Teams Vulnerability Management Platform (VMP).
- Define healthcare workflows
- Simulate cybersecurity events on those workflows.
We are using the Northeastern PATCH Jira for tracking tickets/progress.
Check out the documentation under the docs folder and also CLAUDE.md.
Follow the guide in .env.example to create a .env file.
Install mprocs to run the multiple services:
npm install -g mprocs
Install dependencies:
npm i
Run mprocs:
mprocs
The project includes a seed script to populate the database with sample data for development and testing.
npm run db:seedThe seed script will:
- Check if the seed user exists (creates if needed)
- Seed 20 realistic hospital assets owned by the seed user
SEED_CLEAR_DB=true npm run db:seedAfter seeding, you can log in with:
- Email:
user@example.com - Password: (read the seed script)
- React Framework: Next.js
- Routing: Next.js App Router
- Data Fetching/Caching: Tanstack
- Styling: Tailwind
- Queue: inngest
- DB: PSQL
- ORM: prisma
- RPC: tRPC
- API Validation: Zod
- Test Framework: Jest
- API Testing: Supertest
- Linter: biome
Run npx prisma studio to view the database, usually on http://localhost:5555
To run tests with Jest use npm run test.
You will need to manually export your API_KEY env variable to test the API.
You can find your API Keys under /user/settings.
To check for lint errors use npm run lint.
To have biome linter make changes use npm run format.