Permacoop is an open source and eco design ERP solution reserved for worker-owned business.
Technical stack
- Node.js / Nestjs
- TypeORM
- Typescript
- Jest / Ts-mockito
- Svelte / Sapper
- Tailwind CSS
- PostgreSQL
- Redis
- 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 database and other services:
make compose-up
You can now run database migrations:
make database-migrate
You can now start the application using:
make start
The server and client will be started:
- API documentation available on http://localhost:3000/api
- Client available on http://localhost:3001/
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
Security
The client must send the user apiToken
in the Authorization header when making requests to protected resources : Authorization: Bearer <apiToken>
At the installation of the project a default user was created :
{
"email": "[email protected]",
"password": "john"
}
To retrieve the apiToken
, make a post request on /login
with a user email and password.
Helpers
This following command will display all available helpers :
make help
Tests
Run the unit test suite with this following command:
make test
Features
- 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
Credits
Created by Fairness