# Local Development

### 📜 Code of Conduct

We follow a [Code of Conduct](https://opensource.guide/code-of-conduct/) to foster an open and welcoming community. By participating, you agree to uphold these standards.

***

### 🤝 Ways to Contribute

Here are some ways you can help improve CheckCle:

* 🐞 **Report Bugs** – Found a glitch? Let us know by opening a [GitHub Issue](https://github.com/operacle/checkcle/issues).
* 🌟 **Suggest Features** – Have an idea? Start a [Discussion](https://github.com/operacle/checkcle/discussions) or open a Feature Request issue.
* 🛠 **Submit Pull Requests** – Improve the code, fix bugs, add features, or enhance the docs.
* 📝 **Improve Documentation** – Even a typo fix helps!
* 🌍 **Spread the Word** – Star ⭐ the repo, share it on socials, and invite others to contribute!

***

### 🧰 Development Setup

Before contributing code, set up the project locally:

1\. Fork the Repository

Click "Fork" on [<mark style="color:green;">**GitHub**</mark>](https://github.com/operacle/checkcle) to create your own copy.

2\. Clone Your Fork

```
git clone https://github.com/yourusername/checkcle.git
cd checkcle
```

#### 3. Install Dependencies

Follow the instructions in the README or project docs to install required packages and run the local development server.

#### 4. Start Local Development

```
#Web Application
cd application/ 
npm install && npm run dev

#Server Backend
cd server
./pocketbase serve --dir pb_data 

If you're not using localhost, please run with this (./pocketbase serve --http=0.0.0.0:8090 --dir pb_data)
```

#### 4. Start Service Check Operation

```
#Server Backend 
Start Service Operation (Check Service for PING, HTTP, TCP, DNS)

cd server/service-operation

go run main.go (you do not need to change the .env while it's the localhost connection)
```

#### 5. Start Distributed Regional Agent

```
#### 1. Fork the Repository
Click "Fork" on [GitHub](https://github.com/operacle/Distributed-Regional-Monitoring) to create your own copy.

#### 2. Clone Your Fork
git clone --branch main https://github.com/operacle/Distributed-Regional-Monitoring.git
cd Distributed-Regional-Monitoring

#### 3. Install Go Service (make sure you have installed the Go Service)

Copy .env.example -> .env
Change regional agent configuration in .env file
and Run: go run main.go
```

***

### ✅ Pull Request Process

1. Ensure your code follows the existing style and naming conventions.
2. Write clear, concise commit messages.
3. Push your branch and open a Pull Request (PR) on the `develop` branch.
4. Provide a meaningful PR description (what/why/how).
5. Link related issues if applicable (e.g. `Closes #12`).
6. Make sure all checks pass (e.g., linting, tests).

We’ll review your PR, request changes if needed, and merge it once ready!

***

### 🐛 Reporting Bugs & Issues

Please include as much information as possible:

* A clear, descriptive title
* Steps to reproduce
* Expected vs actual behavior
* Environment info (OS, browser, device, etc.)
* Screenshots or logs if applicable

Use the [Issue Tracker](https://github.com/operacle/checkcle/issues) to report.

***

### 💡 Feature Requests

We’d love to hear your ideas! Open a [Discussion](https://github.com/operacle/checkcle/discussions) or Feature Request issue. Make sure it’s not already listed in the [Roadmap](https://github.com/operacle/checkcle#development-roadmap).
