Table of Contents
If you encounter bugs or have ideas for improvements:
-
Search existing issues to avoid duplicates.
-
If no related issue exists, create one with the following:
- Title: Clear and concise.
- Description: Detailed explanation, including screenshots or logs if relevant.
- Reproduction Steps: Precise steps to reproduce the issue.
To propose a new feature, open a discussion or issue. Provide:
- Use case(s) or scenarios for the feature.
- Why it benefits the project.
- Any relevant examples or references.
If you have a solution, patch or implementation relating to a suggested feature or reported issue, you can implement it and open a pull request.
This section will walk you through how to setup your local development environment for work on this code base.
Before you can get started, make sure you have the following installed or prepared:
-
Java 21
-
Gradle
-
a postgres database
If you don't have a postgres database, you can run one locally using docker:
docker run -d -p 5432:5432 -e POSTGRES_USER=myuser -e POSTGRES_PASSWORD=mypassword postgres
-
Clone the repository using one of the methods below:
git clone git@github.com:HyScript7/fvBot.git git clone https://github.com/HyScript7/fvBot.git gh repo clone HyScript7/fvBot
-
Open the project in your preferred IDE
-
Install dependencies and project modules:
cd backend/ pip install -r requirements.txt cd ../frontend/ pnpm install
You can use this gradle command to run the bot without building a jar or docker image:
gradle bootrunYou can install these optional tools to help with development:
- Docker - A tool for running and managing containers, building images
To keep style across the codebase somewhat consistent, you can find guidelines for individual sections below. Please attempt to follow them. If you don't, but your code is understandable and readable, you can go without these.
Use meaningful commit messages (e.g., fix: resolve issue with X or feat: add Y functionality).
Write tests for new features or fixes if you feel like it.
- Fork the repo and create your branch:
git checkout -b feature/your-feature
-
Make your changes and ensure: Linting passes (if there is any). That all relevant tests pass (if there are any).
-
Push to your fork and open a pull request: Describe your changes in detail. Link relevant issues or discussions.
-
Respond to feedback and make updates as needed.