Welcome! 🎉 Whether you're a seasoned developer or just getting started, we appreciate your interest in contributing to our project. Let's work together to make this lightweight, scalable HTTP server even better! 💻🚀
If you have any questions, doubts, or suggestions about contributing (or anything else), feel free to ping me on LinkedIn or Twitter anytime. I'll do my best to reply as quickly as possible.
Our primary goal is to keep this server lightweight and efficient, ensuring minimal resource usage without sacrificing functionality.
You can contribute in a number of ways, depending on your skills and interests:
-
Fix a Bug 🐛
If you encounter any bugs, please check if an issue already exists. If not, feel free to open a new one, or if you’re up for it, submit a pull request with a fix. -
Suggest a Feature 🌟
Have an idea for a new feature? Open an issue to discuss it! Or, if you’re ready, implement the feature and submit a pull request. -
Improve Performance ⚡
This server is all about efficiency. If you can optimize performance, contribute your code and help us scale better.
-
Documentation 📚
If writing is your strength, help us improve the documentation to make the project more accessible. Better documentation helps everyone! -
Community Engagement
Answer questions, share the project, or help review issues and pull requests. Every bit helps!
Before you start contributing, here’s how you can set up your environment:
Make sure you have the following installed on your local machine:
- Java JDK 11+: Run
java -version
to check your current version. - Maven: Run
mvn -v
after installation. - An IDE like IntelliJ IDEA or Eclipse (optional but recommended)
- ⭐ Star the repository and show your support. (Very Important)
-
Fork the repository
Go to the GitHub repo and click Fork to create a copy on your GitHub account. -
Clone and Set Up Your Local Environment
Clone your fork to your local machine:git clone https://github.com/<your-username>/Http-Server.git cd Http-Server
-
Build the project
Use Maven to build the project:mvn clean install
-
Run the server
Start the server:java -jar target/httpserver-0.0.1-SNAPSHOT.jar src/main/resources/http.json
-
Run tests
Verify that everything is working:mvn test
To keep your fork updated with the main project:
-
Add the original repository as a remote:
git remote add upstream https://github.com/ajaynegi45/Http-Server.git
-
Fetch changes from the original repository:
git pull upstream main
-
Create a new branch for your feature or bugfix:
git checkout -b feature/your-feature-name
-
Make your changes, then commit:
git commit -m "Your descriptive commit message"
-
Push your changes to GitHub:
git push origin feature/your-feature-name
-
Submit a pull request through GitHub and wait for it to be reviewed by our maintainers.
-
Write Meaningful Commits
Please keep your commit messages descriptive and focused. -
Follow the Code Style
Stick to the established coding conventions in the project for consistency. -
Testing is Key
Make sure your changes pass existing tests and add new tests if necessary. -
Keep Your Fork Updated
Always check if your branch is up to date with the main branch.
We are committed to fostering an inclusive and welcoming environment. Please read our Code of Conduct to understand how to contribute respectfully.
Thank you for considering contributing to this project. We value every contribution—big or small! Let's build something great together. 💪