# Contributing to Email Tracking System Project

I appreciate your interest in contributing to the Email Tracking System! This document outlines the process for contributing to the project and submitting pull requests.

## Prerequisites

1. Python 3.10 or higher
2. Git

## Getting Started

1. Fork the repository on GitHub.
2. Clone your forked repository to your local machine: `git clone https://github.com/YOUR_USERNAME/project_progress.git`
3. Change into the project directory: `cd project_progress`
4. Install development dependencies by running: `pip install -e .[develop]`

## Making Changes

1. Create a new branch for your changes: `git checkout -b my-feature-branch`
2. Make your changes and commit them to your branch with a descriptive commit message.

## Before Opening a Pull Request

1. Make sure to run the tests and ensure they pass: `make tests`
2. Check that the code adheres to our coding style by running the linter: `make lint`
3. Check code coverage: `make coverage`
4. Run auto-formatting: `make black`

## Adding New Features

If you'd like to add a new feature to the project, please open an issue describing the feature and its intended functionality. Make sure to include any relevant use cases or examples. Once the feature has been discussed and agreed upon, feel free to open a pull request implementing the changes.

## Submitting a Pull Request

1. Push your changes to your fork on GitHub: `git push origin my-feature-branch`
2. Open a new pull request on the original repository.
3. Ensure that the pull request has a clear and concise title and description that describe the changes you made and the motivation behind them.

## Reporting Bugs

If you encounter a bug, please open an issue with a detailed description of the problem, steps to reproduce the issue, and any relevant logs or error messages.

Thank you for contributing to the Project!

