Thank you for considering contributing to requestrepo! We appreciate any help that you can provide.
-
Fork the repository and clone it to your local machine.
-
Make sure you have the required dependencies installed:
- Python 3.11+
- Poetry for Python dependency management
- Node.js and npm for the frontend
- Redis for data storage
-
Install dependencies:
# Install Python dependencies using Poetry poetry install # Install frontend dependencies cd frontend npm install
-
Create a new branch for your changes:
git checkout -b my-feature-branch
We provide a Makefile to help with common development tasks:
# Start Redis for development
make start-redis
# Start the backend server (will also start Redis if not running)
make start-backend
# Start the frontend development server
make start-frontend
# Run all linters
make lint
# Run only JavaScript/TypeScript linting
make lint-js
# Run only Python linting
make lint-python
# Format all code
make format
# Format only JavaScript/TypeScript code
make format-js
# Format only Python code
make format-python
start-redis
: Starts a Redis container for developmentstart-backend
: Starts the backend server using Poetry and uvicornstart-frontend
: Starts the frontend development server using npmlint
: Runs all code linterslint-js
: Runs ESLint on frontend codelint-python
: Runs Ruff on Python codeformat
: Formats all codeformat-js
: Formats JavaScript/TypeScript using Prettierformat-python
: Formats Python code using Ruff
Run the tests using Poetry:
poetry run pytest
- Make your changes in your feature branch
- Run the linters and formatters:
make lint make format
- Run the tests to ensure everything works:
poetry run pytest
- Commit your changes and push them to your fork
- Create a Pull Request against the main repository's
main
branch
The project uses environment variables for configuration. Copy .env.example
to .env
and modify as needed:
cp .env.example .env
Key environment variables:
JWT_SECRET
: Secret key for JWT tokensDOMAIN
: Your domain nameSERVER_IP
: Your server's IP addressREDIS_TTL_DAYS
: How long to keep data in Redis (default: 7 days)
If you have any questions or doubts, feel free to contact the maintainers by opening an issue.