First off, thanks for taking the time to contribute! 🎉
elastix-api is a prototype and case study project. Whether you're fixing a bug, improving the UI, or suggesting a new simulation logic, your help is welcome. We want to keep this project fun and educational.
- Check the Issues: Look for existing issues or create a new one to discuss what you want to change.
- Fork the Repository: Create your own copy of the project on GitHub.
- Clone it:
git clone [https://github.com/YOUR-USERNAME/elastix-api.git](https://github.com/YOUR-USERNAME/elastix-api.git) cd elastix-api npm install - Backend (Optional but recommended): If you are working on data fetching or simulations, make sure to have the
elastix-api-apirunning via Docker.
We follow a simple feature-branch workflow.
- Create a Branch: Please include the issue reference in your branch name:
# Example for Issue #42 git checkout -b feature/42 - Code: We use React 18, TypeScript, and Tailwind CSS.
- Please use
shadcn/uicomponents where possible to maintain the design system. - Keep feature-specific logic in
src/items/.
- Please use
- Test & Lint: Before you commit, make sure everything is clean:
npm run lint npm run test - Commit: Write clear, concise commit messages.
- Good: "Fix layout issue in Segmentation chart"
- Bad: "fix css"
- Push your branch to your fork.
- Open a Pull Request against the
mainbranch ofelastix-api. - Describe your changes in the PR description.
- Wait for a review! I usually try to review PRs within a few days.
Be respectful and kind to others. We are all here to learn and build cool stuff.
Happy Coding! 🚀