-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #33 from AnujSaha0111/Create-CONTRIBUTING.md-file
Create contributing.md file
- Loading branch information
Showing
1 changed file
with
159 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,159 @@ | ||
# Contributing to InkCode Fusion | ||
|
||
Thank you for taking the time to contribute to **InkCode Fusion**! We are excited to have you here, and we appreciate your help in improving the project. Please follow these guidelines to ensure a smooth and collaborative experience. | ||
|
||
## Table of Contents | ||
1. [Setting Up the Project](#setting-up-the-project) | ||
2. [Code of Conduct](#code-of-conduct) | ||
3. [Issues](#issues) | ||
4. [Pull Requests](#pull-requests) | ||
5. [Commit Messages](#commit-messages) | ||
6. [Coding Guidelines](#coding-guidelines) | ||
7. [Getting Started](#getting-started) | ||
8. [License](#license) | ||
|
||
--- | ||
|
||
## Setting Up the Project | ||
|
||
Follow these steps to set up the project locally: | ||
|
||
1. **Fork the repository**: Click on the `Fork` button at the top right of this repository. | ||
2. **Clone your fork**: | ||
```bash | ||
git clone https://github.com/<your-username>/InkCode-Fusion.git | ||
3. **Navigate to the project directory**: | ||
```bash | ||
cd InkCode-Fusion | ||
4. **Create a new branch: Create a new branch for your feature or bug fix.** | ||
```bash | ||
git checkout -b feature/my-new-feature | ||
5. **Make your changes and commit them. Follow the commit message guidelines below.** | ||
|
||
## Code of Conduct | ||
|
||
Please note that this project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code and maintain a welcoming and inclusive environment for everyone. | ||
|
||
--- | ||
|
||
## Issues | ||
|
||
### Reporting Bugs | ||
|
||
- Check if the issue is already reported in the [issues](https://github.com/MadhavKrishanGoswami/InkCode-Fusion/issues) section. | ||
- If not, [open a new issue](https://github.com/MadhavKrishanGoswami/InkCode-Fusion/issues/new) with detailed steps to reproduce the bug. | ||
- Be sure to include details such as the version of the project you are using, your operating system, and any relevant logs. | ||
|
||
### Requesting Features | ||
|
||
- To request a new feature, open an issue using the **Feature Request** template. | ||
- Clearly describe the problem you want to solve and why it is essential. | ||
- If possible, provide mockups or examples to illustrate the proposed feature. | ||
|
||
--- | ||
|
||
## Pull Requests | ||
|
||
### Steps to Submit a Pull Request | ||
|
||
1. Ensure your branch is up to date with the `main` branch: | ||
```bash | ||
git fetch origin | ||
git checkout main | ||
git merge origin/main | ||
2. Push your feature branch: | ||
```bash | ||
git push origin feature/my-new-feature | ||
3. Open a pull request from your fork to the main branch of this repository. | ||
4. In the pull request description: | ||
- Clearly describe the changes you have made. | ||
- Link to the issue you're addressing (if applicable). | ||
- Provide relevant screenshots or logs to demonstrate your changes. | ||
### Pull Request Guidelines | ||
- Ensure the PR passes all tests. | ||
- Follow the [Coding Guidelines](#coding-guidelines) and [Development Workflow](#development-workflow). | ||
- Be responsive to feedback from maintainers or reviewers. | ||
## Commit Messages | ||
- Write clear and concise commit messages. | ||
- Use the following format for commit messages: | ||
```bash | ||
[Component]: Description of the change | ||
Closes #issue-number | ||
- Begin with an uppercase letter and keep the summary under 50 characters. | ||
- Reference any related issue by number, using keywords like `Closes`, `Fixes`, `Resolves`. | ||
## Coding Guidelines | ||
- Ensure that your code adheres to the existing code style of the project. | ||
- We use the following stack and styles: | ||
### **Tech Stack**: | ||
#### Frontend: | ||
- **Framework**: MERN stack (React.js) | ||
- **Libraries**: React, Tailwind CSS, CodeMirror | ||
- **UI Enhancements**: Tailwind CSS for sleek, responsive UI design | ||
#### Backend: | ||
- **Server**: Node.js | ||
- **Real-time Features**: Socket.IO for real-time communication and collaboration | ||
- **Video/Voice**: Agora SDK | ||
- **Database/Cache**: Redis for session management | ||
#### Application Framework: | ||
- **Desktop Application**: Electron.js | ||
- **Monorepo Management**: Turborepo for efficient project structure and builds | ||
## Getting Started | ||
To run **InkCode Fusion** on your local machine, follow these steps: | ||
### Prerequisites | ||
- **Docker**: Make sure Docker is installed on your machine. [Install Docker](https://www.docker.com/get-started) | ||
- **Yarn**: If not installed, install Yarn using npm: | ||
```bash | ||
npm install --global yarn | ||
``` | ||
## Installation and Setup | ||
1. Clone the Repository | ||
- Start by cloning the repository: | ||
```bash | ||
git clone https://github.com/MadhavKrishanGoswami/InkCode-Fusion.git | ||
cd InkCode-Fusion | ||
``` | ||
2. Run Redis Using Docker | ||
- Redis is required for real-time session management. Start Redis using Docker: | ||
```bash | ||
docker run --rm --name redis -p 6379:6379 redis | ||
``` | ||
3. Install Dependencies and Initialize Turborepo | ||
- Install the project dependencies using Yarn (recommended for Turborepo-based projects): | ||
```bash | ||
yarn install | ||
``` | ||
4. Run the Application in Development Mode | ||
- Start the application using the development script: | ||
```bash | ||
yarn dev | ||
``` | ||
5. Access the Application | ||
- Open your browser and navigate to http://localhost:3000 to access the frontend interface. | ||
## License | ||
By contributing, you agree that your contributions will be licensed under the MIT License. |