Development Build
Build backend and frontend
Build and start the backend in development mode. The frontend will reload automatically when changes are made, the backend will need to be restarted manually.
- Clone the repository.
- Navigate to the frontend directory:
cd frontend/looksyk - Install frontend dependencies:
npm install - Start the frontend server:
npm run ng serve --proxy-config=proxy.config.json - Navigate to the backend directory:
cd backend - Install backend dependencies:
cargo run - The frontend will be available at
http://localhost:4200 - The backend will be available at
http://localhost:11000
Run backend tests
- Navigate to the backend directory:
cd backend - Run the tests:
cargo test
If there are changes at the high-efficiency parts of the codebase (e.g. the parser), it's recommended to run the benchmark tests as well:
- Navigate to the backend directory:
cd backend - Run the benchmark tests:
cargo bench - Make your changes
- Run the benchmark tests again to compare the results
Build electron app
- Change into the application-wrapper directory
cd application-wrapper/Looksyk/ - Install electron dependencies
npm install - Build the electron app
npm run package - The application is now in the
outfolder e.g.out/looksyk-linux-x64/looksyk
Contribution Guidelines
Contributions are welcome! Here are the steps to contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Make your changes.
- Check if your changes pass the tests and checks. Run
bash run-ci-manual.shto run all tests and checks. If there are any issues, please fix them before proceeding. - Commit your changes (
git commit -am 'Add new feature'). - Push to the branch (
git push origin feature-branch). - Create a new Pull Request into the
mainbranch.
Where should I target my pull request?
Pull requests should be targeted to the main branch.
The stable branch is reserved for the latest release.
Why is the stable branch not the default branch?
The stable branch is not the default branch because it is reserved for the latest release. The main branch is where
active development takes place, and it is the branch that contributors should target for their pull requests.
GitHub will automatically show the default branch when you visit the repository. To avoid unstable or incomplete changes
being displayed by default, the default branch is stable. In addition, the GitHub docs website is also generated from
the default branch.
Troubleshooting
- see FAQ Install + Run