Permacoop is an open source and eco design ERP solution reserved for worker-owned business.
- Node.js / Nestjs
- TypeORM
- Typescript
- Jest / ts-mockito
- Svelte / SvelteKit / Sapper (legacy)
- Tailwind CSS
- PostgreSQL
- Docker
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
).
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 seed-database
This command will create the default user "John Doe" :
{
"email": "john@doe.com",
"password": "john"
}
The server and client will be started:
- API documentation available on http://localhost:3000/api
- Client available on http://localhost:3001/
To view all available commands, run:
make help
To serve the built server and client locally, run:
make build
make start-dist
To run tests, use:
make test
For E2E tests, you will need to install additional dependencies first:
make install-client-e2e
Run E2E tests using:
make test-client-e2e
To run automatic code formatting, run:
make format
To run linters and code checks, use:
make linter
To generate a migration from the current state of the code, run:
make database-migration NAME=add_some_column
The client must send the user apiToken
in the Authorization header when making requests to protected resources : Authorization: Bearer <apiToken>
To retrieve the apiToken
, make a post request on /login
with a user email and password.
- Tasks management
- Projects management
- Customers management
- Calendar (timesheets etc.)
- Human Resources
- Meal tickets
- Leaves
- Cooperators / employee
- Savings records
- Accounting
- Quotations
- Daily rates
- Invoicing
- Contacts managment
Created by Fairness
MIT