Overview
Permacoop is an open source and eco-design ERP solution designed specifically for worker-owned businesses. It offers a range of features including tasks management, projects management, customers management, calendar functionalities, human resources management, meal tickets, leaves management, cooperators/employee management, savings records, accounting, quotations, daily rates, invoicing, contacts management, and credits. This solution is built using Node.js, Nestjs, TypeORM, Typescript, and Svelte/SvelteKit/Sapper (legacy) frameworks, and it utilizes PostgreSQL as a database. Permacoop also provides API documentation and a client interface for easy interaction.
Features
- Tasks Management: Efficiently manage tasks within your worker-owned business.
- Projects Management: Effectively track and manage various projects.
- Customers Management: Keep track of customer information and interactions.
- Calendar: Plan and manage timesheets, appointments, and other calendar activities.
- Human Resources: Manage employee-related information and processes.
- Meal Tickets: Track and manage meal ticket allocation and usage.
- Leaves Management: Easily handle leave requests and track leave balances.
- Cooperators/Employee Management: Manage employee information and details.
- Savings Records: Keep track of savings records and contributions.
- Accounting: Manage financial records and transactions.
- Quotations: Create and manage quotations for potential projects or services.
- Daily Rates: Set and manage daily rates for various tasks and positions.
- Invoicing: Generate and manage invoices for customers.
- Contacts Management: Store and manage contact information for clients, partners, and suppliers.
- Credits: Keep track of credit transactions and balances.
Installation
To install the Permacoop ERP solution, follow these steps:
Prerequisites:
- Ensure that PostgreSQL is installed on your system. Alternatively, you can use Docker and Docker Compose to run PostgreSQL using the provided
docker-compose.ymlfile. - Install Node.js 16.x and ensure that
node-gypis installed globally. You can runnpm install -g node-gypto install it.
Quickstart:
- Install the dependencies by running the following command in your terminal:
npm install
- Start the servers, database, and other services by running the following command:
npm run start:all
- In a separate terminal, run the database migrations using the following command:
npm run migration:run
- Seed the database with fake data by running the following command:
npm run seed
The default user “John Doe” will be created during the seeding process.
The server and client will be started. You can access the API documentation at
http://localhost:3000/apiand the client interface athttp://localhost:3001/.
Helpers:
- To view all available commands, run:
npm run help
Building and Serving:
- To serve the built server and client locally, run:
npm run serve
Tests:
- To run tests, use the following command:
npm run test
- For end-to-end (E2E) tests, you will need to install additional dependencies first. Run the following command to install the dependencies:
npm run e2e:install
- Run E2E tests using the following command:
npm run e2e:test
Code Quality:
- To run automatic code formatting, run:
npm run format
- To run linters and code checks, use:
npm run lint
Database Migrations:
- To generate a migration from the current state of the code, run:
npm run migration:generate -- <migration-name>
Security:
- The client must send the user
apiTokenin theAuthorizationheader when making requests to protected resources. Use the following format:Authorization: Bearer <apiToken>. - To retrieve the
apiToken, make a POST request on/loginwith a user email and password.
Summary
Permacoop is an open source ERP solution designed for worker-owned businesses. It offers a comprehensive set of features including tasks management, projects management, customers management, calendar functionalities, human resources management, meal tickets, leaves management, cooperators/employee management, savings records, accounting, quotations, daily rates, invoicing, contacts management, and credits. With its technical stack consisting of Node.js, Nestjs, TypeORM, Typescript, and Svelte/SvelteKit/Sapper (legacy), Permacoop provides a powerful tool for eco-friendly and worker-owned businesses to efficiently and effectively manage their operations.