Thank you for considering contributing to BuildEstate! This document outlines the process for contributing to this project.
By participating in this project, you agree to maintain a respectful and inclusive environment for everyone. Please be courteous and respectful in your interactions.
There are several ways you can contribute to the BuildEstate project:
- Reporting Bugs: Open an issue describing the bug, how to reproduce it, and any potential solutions.
- Suggesting Features: Open an issue describing your feature idea and how it would benefit the project.
- Submitting Code: Make a pull request with your code changes.
- Improving Documentation: Help improve the documentation through pull requests.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/Real-Estate-Website.git cd Real-Estate-Website - Install dependencies for each app:
cd backend && npm install cd ../frontend && npm install cd ../admin && npm install
- Set up environment files:
cp backend/.env.example backend/.env.local cp frontend/.env.example frontend/.env.local cp admin/.env.example admin/.env.local
- Edit each
.env.localwith your credentials — see README.md for the full list of required variables
- Create a new branch:
git checkout -b feature/your-feature-name # or for bug fixes: git checkout -b fix/your-bug-description - Make your changes and test thoroughly
- Commit using conventional commits:
git commit -m "feat: add your feature" git commit -m "fix: resolve the bug" git commit -m "docs: update readme"
- Push to your fork:
git push origin feature/your-feature-name
- Open a Pull Request against the
mainbranch
- Keep PRs focused on a single feature or fix
- Include a clear description of what was changed and why
- Reference any related issues (e.g.
Closes #42) - Update documentation if your change affects setup or usage
- Ensure
npm run buildsucceeds in the affected app(s) - Run
npm run lintand fix any errors before submitting
- Follow the existing code style and formatting
- Use meaningful variable and function names
- Write comments for complex logic
- Include JSDoc comments for functions
- Add appropriate tests for new features
- Ensure all existing tests pass
- Manual testing should be performed on different devices and browsers
- Update the README.md if necessary
- Document API changes in the appropriate documentation files
- Keep code comments up-to-date
| Directory | App | Port |
|---|---|---|
backend/ |
Node.js + Express REST API | 4000 |
frontend/ |
React + TypeScript user site | 5173 |
admin/ |
React admin dashboard | 5174 |
Feel free to open an issue or reach out at aayushvaghela12@gmail.com.
Thank you for contributing to BuildEstate!