- Introduction
- Setting Up the Project Locally
- Using the Project
- Project Dependencies
- DB Model Details
- Pull Requests
- License
Patcher is designed to assist with Eurorack setups, providing a modern interface and robust functionality.
The project's mission is to build a complete management system for all the needs of artists who use modular equipment. Priorities include ease and speed of use, aesthetic cleanliness, and correctness of data.
Another goal of the project is to build a database that is publicly accessible and this may include an API, possibly developed in the future. Modules' data will never be restricted by a paywall and will always be publicly accessible.
The project is open-source and contributions are welcome.
To set up the project locally, follow the steps below:
- Clone the repository to your local machine using
git clone <repository_url>
. - Navigate to the project directory using
cd Patcher
. - Install the necessary dependencies using
yarn install
.
Note: We use Yarn as our package manager. Please do not generate apackage-lock.json
file. - Run
ng serve
for a dev server. Navigate tohttp://localhost:4200/
. The app will automatically reload if you change any of the source files.
The develop
branch is where the code gets advanced. The production
branch gets directly uploaded via automated tools. Be aware of this when navigating the project.
To use the project's features, navigate to the appropriate section of the interface and follow the prompts. If you encounter any issues, refer to the documentation or raise an issue on GitHub.
The project uses the following tools and libraries:
Tool/Library | What |
---|---|
Angular | Web framework. Using v18 |
Angular Material | UI components |
Supabase | Database, authentication, and storage |
Vercel | Deployment, hosting |
GitHub | Version control, issue tracking, project management, test automation |
Database | PostgreSQL hosted on Supabase |
Sentry | Technical analytics and error tracking |
Other Dependencies | Check the package.json file |
The database model for the project is as follows:
If you have forked on GitHub, then the best way to submit your patches is to push your changes back to GitHub and then send a "pull request" on GitHub.
If your pull request is small, for example, one or two commits each containing only a few lines of code, then it is easy for the maintainers to review.
If you are creating a larger pull request, then please help the maintainers by making the reviews as straightforward as possible:
- The smaller the PR, the easier it is to review. In particular, if a PR is too large to review in one sitting, or if changes are requested, then the maintainer needs to repeatedly re-read code that has already been considered.
- If you are creating a large pull request, then please consider splitting your pull request into multiple PRs. If part of your work can be considered standalone, or is a foundation for the rest of your work, please submit it separately first.
This project is licensed under the GNU Affero General Public License v3.0. For more information, see the LICENSE file.