Permacoop is an open source and eco design ERP solution reserved for worker-owned business.
Technical stack
- Node.js / Nestjs / Nunjucks
- HTML, CSS, WebComponents
- TypeORM
- PostgreSQL
- Typescript
- Jest / ts-mockito
- Docker
Prerequisites
You must have PostgreSQL installed, or Docker and Docker Compose to run PostgreSQL using the provided docker-compose.yml.
Ensure you have Node.js 16.x and node-gyp installed globally (npm install -g node-gyp).
Quickstart
First, install dependencies:
make install
Then start the servers, database and other services:
make start
In a separate terminal, run database migrations:
make database-migrate
Then, you can seed the database with fake data
make database-seed
This command will create the following seed accounts:
| Name | Password | Role | |
|---|---|---|---|
| John Doe | [email protected] | john | COOPERATOR |
| Jane Smith | [email protected] | john | COOPERATOR |
4 additional users are also created with random emails (generated by faker) — they all share the same password: john.
The server will be available at http://localhost:3000.
Helpers
To view all available commands, run:
make help
Building and serving
To serve the built server and client locally, run:
make build
make start-dist
Tests
To run tests, use:
make test
Run E2E tests using:
make test-e2e
Code quality
To run automatic code formatting, run:
make format
To run linters and code checks, use:
make linter
Database migrations
To generate a migration from the current state of the code, run:
make database-migration NAME=add_some_column
Features
- Tasks management
- Projects management
- Customers management
- Calendar (timesheets etc.)
- Human Resources
- Meal tickets
- Leaves
- Cooperators / employee
Credits
Created by Fairness
License
MIT
