From 9661dcddf68b43a362e1f1b8a2978c6b820dc44b Mon Sep 17 00:00:00 2001 From: Anuj Saha <153378181+AnujSaha0111@users.noreply.github.com> Date: Wed, 9 Oct 2024 01:54:45 +0530 Subject: [PATCH 1/4] Create CONTRIBUTING.md --- CONTRIBUTING.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..6a20e9b6 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,24 @@ +# 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. [Development Workflow](#development-workflow) +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//InkCode-Fusion.git From 7b373bfcb32ed0b6030cd303cd56ec38ab2efbeb Mon Sep 17 00:00:00 2001 From: Anuj Saha <153378181+AnujSaha0111@users.noreply.github.com> Date: Wed, 9 Oct 2024 02:15:15 +0530 Subject: [PATCH 2/4] Update CONTRIBUTING.md --- CONTRIBUTING.md | 118 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6a20e9b6..69de9982 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -22,3 +22,121 @@ Follow these steps to set up the project locally: 2. **Clone your fork**: ```bash git clone https://github.com//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**: Python (Django) for backend, React for frontend. + - **Linting**: Follow [PEP 8](https://www.python.org/dev/peps/pep-0008/) for Python code. + - **Testing**: Write unit tests for your code. Ensure that all tests pass before submitting the pull request. + +## Development Workflow + +### Running the Development Environment + +1. **Install dependencies**: + ```bash + pip install -r requirements.txt +2. **Start the development server**: + ```bash + python manage.py runserver +3. **For the frontend, navigate to the frontend folder and run**: + ```bash + npm install + npm start + +### Running Tests + +1. **To run tests for the backend**: + ```bash + python manage.py test +2. **To run tests for the frontend**: + ``bash + npm test + +## License + +By contributing, you agree that your contributions will be licensed under the MIT License. + + +### Explanation: + +- **Setting Up the Project**: Provides steps for forking, cloning, and creating a new branch. +- **Code of Conduct**: References a `CODE_OF_CONDUCT.md` file (you might want to create this as well). +- **Issues**: Guidelines for reporting bugs and feature requests. +- **Pull Requests**: Clear instructions for submitting pull requests. +- **Commit Messages**: Encourages good commit practices with examples. +- **Coding Guidelines**: Instructs contributors on the tech stack and coding styles to follow. +- **Development Workflow**: Explains how to run the development server and tests. +- **License**: States the project license. + + + + + From 1d26c9b65023c9811ad892a747d17be8c21c9d57 Mon Sep 17 00:00:00 2001 From: Anuj Saha <153378181+AnujSaha0111@users.noreply.github.com> Date: Thu, 10 Oct 2024 20:44:40 +0530 Subject: [PATCH 3/4] Update CONTRIBUTING.md --- CONTRIBUTING.md | 85 +++++++++++++++++++++++++++++++++---------------- 1 file changed, 57 insertions(+), 28 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 69de9982..c8108e9b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -9,7 +9,7 @@ Thank you for taking the time to contribute to **InkCode Fusion**! We are excite 4. [Pull Requests](#pull-requests) 5. [Commit Messages](#commit-messages) 6. [Coding Guidelines](#coding-guidelines) -7. [Development Workflow](#development-workflow) +7. [Getting Started](#getting-started) 8. [License](#license) --- @@ -92,33 +92,67 @@ Please note that this project adheres to a [Code of Conduct](CODE_OF_CONDUCT.md) - Ensure that your code adheres to the existing code style of the project. - We use the following stack and styles: - - **Tech Stack**: Python (Django) for backend, React for frontend. - - **Linting**: Follow [PEP 8](https://www.python.org/dev/peps/pep-0008/) for Python code. - - **Testing**: Write unit tests for your code. Ensure that all tests pass before submitting the pull request. -## Development Workflow +### **Tech Stack**: -### Running the Development Environment +#### Frontend: +- **Framework**: MERN stack (React.js) +- **Libraries**: React, Tailwind CSS, CodeMirror +- **UI Enhancements**: Tailwind CSS for sleek, responsive UI design -1. **Install dependencies**: - ```bash - pip install -r requirements.txt -2. **Start the development server**: - ```bash - python manage.py runserver -3. **For the frontend, navigate to the frontend folder and run**: - ```bash - npm install - npm start +#### 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 -### Running Tests +#### Application Framework: +- **Desktop Application**: Electron.js +- **Monorepo Management**: Turborepo for efficient project structure and builds -1. **To run tests for the backend**: - ```bash - python manage.py test -2. **To run tests for the frontend**: - ``bash - npm test +## 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 @@ -135,8 +169,3 @@ By contributing, you agree that your contributions will be licensed under the MI - **Coding Guidelines**: Instructs contributors on the tech stack and coding styles to follow. - **Development Workflow**: Explains how to run the development server and tests. - **License**: States the project license. - - - - - From 6e2953b1b8bc619751763b3cd693088bc4ea0e09 Mon Sep 17 00:00:00 2001 From: Anuj Saha <153378181+AnujSaha0111@users.noreply.github.com> Date: Fri, 11 Oct 2024 00:02:59 +0530 Subject: [PATCH 4/4] Update CONTRIBUTING.md --- CONTRIBUTING.md | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c8108e9b..d42616a6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -157,15 +157,3 @@ To run **InkCode Fusion** on your local machine, follow these steps: ## License By contributing, you agree that your contributions will be licensed under the MIT License. - - -### Explanation: - -- **Setting Up the Project**: Provides steps for forking, cloning, and creating a new branch. -- **Code of Conduct**: References a `CODE_OF_CONDUCT.md` file (you might want to create this as well). -- **Issues**: Guidelines for reporting bugs and feature requests. -- **Pull Requests**: Clear instructions for submitting pull requests. -- **Commit Messages**: Encourages good commit practices with examples. -- **Coding Guidelines**: Instructs contributors on the tech stack and coding styles to follow. -- **Development Workflow**: Explains how to run the development server and tests. -- **License**: States the project license.