diff --git a/contribution.md b/contribution.md new file mode 100644 index 0000000..6b90ebe --- /dev/null +++ b/contribution.md @@ -0,0 +1,130 @@ +# Contributing to Station Guide + +Thank you for considering contributing to * Station Guide *! GirlScript Summer of Code (GSSoC) welcomes contributors of all skill levels, and we are excited to collaborate with you to make this project better. + +Please take a moment to review this guide to help you get started. + +## Table of Contents +- [Code of Conduct](#code-of-conduct) +- [How to Contribute](#how-to-contribute) + - [Reporting Issues](#reporting-issues) + - [Suggesting Enhancements](#suggesting-enhancements) + - [Submitting Pull Requests](#submitting-pull-requests) +- [Scoring System](#scoring-system) +- [Development Guidelines](#development-guidelines) +- [Getting Started](#getting-started) + - [Setup Instructions](#setup-instructions) + - [Branching Strategy](#branching-strategy) +- [Contact Us](#contact-us) + +## Code of Conduct + +This project adheres to the [Contributor Covenant Code of Conduct](link-to-code-of-conduct). By participating, you are expected to uphold this code. Please report any unacceptable behavior to the project maintainers. + +## How to Contribute + +### Reporting Issues + +If you find a bug, security vulnerability, or any other issue, please open an issue in the [GitHub Issue Tracker](link-to-issue-tracker) and provide the following details: +1. A clear and descriptive title. +2. Steps to reproduce the issue. +3. Any error messages or screenshots, if available. +4. Expected and actual behavior. + +### Suggesting Enhancements + +We welcome suggestions for improvements! Please use the same [GitHub Issue Tracker](link-to-issue-tracker) and label the issue as an "Enhancement." Provide as much context as possible, including: +1. The current state and why it's insufficient. +2. A detailed proposal or solution, if you have one. +3. Any alternative solutions you have considered. + +### Submitting Pull Requests + +To make changes, follow these steps: +1. Fork the repository and clone it to your local machine. +2. Create a new branch following the naming convention: feature/your-feature-name or bugfix/your-bugfix-name. +3. Make your changes, ensuring your code follows the project's [Development Guidelines](#development-guidelines). +4. Test your changes thoroughly. +5. Push your branch and submit a pull request (PR) to the main branch. +6. In your PR, include: + - A clear description of what changes were made and why. + - A reference to any issue it fixes or enhances. + +## Scoring System + +As part of GSSoC, contributors will earn points based on the complexity and impact of their contributions. Here's how points are awarded: + +- *Level 1 (10 points)*: Minor bug fixes, documentation improvements, or small enhancements. +- *Level 2 (25 points)*: Medium-level features or bug fixes that require more in-depth work, such as improving a module, adding new functionality, or enhancing testing. +- *Level 3 (45 points)*: Major contributions like implementing significant features, refactoring large parts of the codebase, or fixing critical bugs. + +All contributions will be reviewed, and the maintainers will assign points based on the effort and impact. + +## Development Guidelines + +- Follow the project's code style (describe the language or framework conventions). +- Write clear, maintainable, and well-documented code. +- Ensure tests cover your changes. +- Run linting and formatting tools as required. + +## Getting Started + + +### 1. Clone the Repository + + +*Understanding Cloning:* + +Cloning creates a local copy of the project on your computer, allowing you to work on it independently. This local copy is a mirror image of the original repository on GitHub or similar platforms. + + +Use Git to clone this repository into your local development environment: + +bash +git clone https://github.com/dhairyagothi/StationGuide.git + + +*After Cloning* +You will see this interface in your system : + +![image](https://github.com/user-attachments/assets/20961ae0-2d63-45e7-9aa4-9adc01fcc4d0) + + + +### 3. Running the Development Server + +## Frontend: + +- Open a terminal or command prompt window. +- Navigate to the frontend directory: +```Bash +cd frontend +``` + +- Start the frontend development server : +```Bash +npm run dev +``` + +This will typically launch the React application on http://localhost:3000 (or the specified port) in your browser. + +## Backend: + +- Open another terminal or command prompt window (separate from the frontend window). +- Navigate to the backend directory: +```Bash +cd backend +``` + +Start the backend development server (typically using nodemon server.js or a similar command): +```Bash +npm run start +``` + +# Contact Us +If you have any questions or need further clarification, feel free to reach out: + +Project Lead: [Dhairya Gothi] (dhairyag31@gmail.com) + + +### This file now includes the scoring system for different levels of contributions (Level 1, Level 2, and Level 3) with corresponding points. Adjust the project-specific details such as the project name, links, and email contacts.