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.
- Setting Up the Project
- Code of Conduct
- Issues
- Pull Requests
- Commit Messages
- Coding Guidelines
- Getting Started
- License
Follow these steps to set up the project locally:
- Fork the repository: Click on the
Fork
button at the top right of this repository. - Clone your fork:
git clone https://github.com/<your-username>/InkCode-Fusion.git
- Navigate to the project directory:
cd InkCode-Fusion
- Create a new branch: Create a new branch for your feature or bug fix.
git checkout -b feature/my-new-feature
- Make your changes and commit them. Follow the commit message guidelines below.
Please note that this project adheres to a Code of Conduct. By participating, you are expected to uphold this code and maintain a welcoming and inclusive environment for everyone.
- Check if the issue is already reported in the issues section.
- If not, open a new issue 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.
- 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.
- Ensure your branch is up to date with the
main
branch:git fetch origin git checkout main git merge origin/main
- Push your feature branch:
git push origin feature/my-new-feature
- Open a pull request from your fork to the main branch of this repository.
- 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.
- Ensure the PR passes all tests.
- Follow the Coding Guidelines and Development Workflow.
- Be responsive to feedback from maintainers or reviewers.
- Write clear and concise commit messages.
- Use the following format for commit messages:
[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
.
- Ensure that your code adheres to the existing code style of the project.
- We use the following stack and styles:
- Framework: MERN stack (React.js)
- Libraries: React, Tailwind CSS, CodeMirror
- UI Enhancements: Tailwind CSS for sleek, responsive UI design
- Server: Node.js
- Real-time Features: Socket.IO for real-time communication and collaboration
- Video/Voice: Agora SDK
- Database/Cache: Redis for session management
- Desktop Application: Electron.js
- Monorepo Management: Turborepo for efficient project structure and builds
To run InkCode Fusion on your local machine, follow these steps:
- Docker: Make sure Docker is installed on your machine. Install Docker
- Yarn: If not installed, install Yarn using npm:
npm install --global yarn
- Clone the Repository
- Start by cloning the repository:
git clone https://github.com/MadhavKrishanGoswami/InkCode-Fusion.git cd InkCode-Fusion
- Start by cloning the repository:
- Run Redis Using Docker
- Redis is required for real-time session management. Start Redis using Docker:
docker run --rm --name redis -p 6379:6379 redis
- Redis is required for real-time session management. Start Redis using Docker:
- Install Dependencies and Initialize Turborepo
- Install the project dependencies using Yarn (recommended for Turborepo-based projects):
yarn install
- Install the project dependencies using Yarn (recommended for Turborepo-based projects):
- Run the Application in Development Mode
- Start the application using the development script:
yarn dev
- Start the application using the development script:
- Access the Application
- Open your browser and navigate to http://localhost:3000 to access the frontend interface.
By contributing, you agree that your contributions will be licensed under the MIT License.