Skip to content

Latest commit

 

History

History
250 lines (187 loc) · 10.8 KB

CONTRIBUTING.md

File metadata and controls

250 lines (187 loc) · 10.8 KB

🛤️ BuddyTrail Contribution Guide 🌍

Thank you for your interest in contributing to BuddyTrail – your all-in-one travel companion! Whether you're helping fellow travelers explore breathtaking destinations 🏖️🏰, find cozy hotels 🏨, or book affordable flights 💺, we’re excited to have you onboard!

This project has been OFFICIALLY accepted for GSSoC 2024 Extended and Hacktoberfest 2024, making it the perfect opportunity for you to contribute to an exciting open-source project! 🚀


🌟 Project Stats

  • ⭐ Stars: [stars count]
  • 🍴 Forks: [forks count]
  • 🐛 Issues: [issues count]
  • 🔔 Open Pull Requests: [open PRs count]
  • 🔕 Closed Pull Requests: [closed PRs count]
  • 🛠️ Languages Used: [language count]
  • 🌐 Contributors: [contributors count]

🚀 How to Get Started

Follow these steps to get started with contributing to BuddyTrail:

  1. Fork this Repository 🍴:
    Click the fork button at the top of the repository page to create a copy in your GitHub account.

  2. Clone the Repository to Your Local Machine 🧩:
    Open your terminal and clone the repo:

    git clone https://github.com/Your-Username/BuddyTrail.git
  3. Create a New Branch 🌿: Work on a separate branch for your feature or fix:

    git branch -c "Feature-Name"
    git checkout Feature-Name
  4. Make Your Changes 🛠️: Add your code, test it locally, and ensure everything works.

  5. Add and Commit Your Changes 💬: Save your progress and commit with a meaningful message:

    git commit -m "Brief Description of Changes"
  6. Push Your Changes 🚢: Push your feature branch to your remote repository:

    git push origin Feature-Name
  7. Submit a Pull Request 🔥: Go to GitHub and create a Pull Request (PR) for review.


🎉 Welcome, Contributors! 👋

We are excited to have you contribute to BuddyTrail! Whether it's a bug fix, feature addition, or enhancing documentation, we welcome all contributions.

Here’s how you can start contributing:

  1. Fork the Repository: Click the Fork button at the top of the repo.
  2. Create a New Feature Branch: Always work on a new branch for your changes.
  3. Make Meaningful Commits: Commit your changes with descriptive messages.
  4. Push to the Branch: Push your local branch to GitHub.
  5. Open a Pull Request (PR): Submit your PR for review.

We’re looking forward to your contributions, big or small!


🔧 Contribution Guidelines

To ensure the quality of contributions to BuddyTrail, please adhere to the following guidelines:

  1. Code Style:

    • Maintain consistent code formatting and style as seen in the project.
    • Write clean and readable code.
    • Comment your code where necessary to explain complex logic.
  2. Commit Messages:

    • Write clear, meaningful commit messages.
    • Use a brief description that clearly states the purpose of the change.
  3. Pull Requests:

    • PRs should be focused on solving a specific issue or implementing a single feature.
    • Make sure the PR is well-explained and links to any relevant issues.
  4. Testing:

    • Ensure that your changes are thoroughly tested and do not break existing functionality.
    • Test your code locally before pushing to GitHub.
  5. Issue Tracker:

    • Review open issues before starting a new feature or fix.
    • Reference related issues in your PRs.

🛠️ Technologies We Use

BuddyTrail is built with the following technologies:

  • HTML5/CSS3: For building and styling the website.
  • JavaScript: For interactive features like travel maps and dark/light mode toggling.
  • Google Maps API: For displaying the interactive travel map.
  • Responsive Design: Ensures the website works seamlessly across devices.
  • Multi-Language Support: The website can be viewed in multiple languages for a global audience.

📂 Enhanced Project Structure

This section provides an organized layout of the BuddyTrail repository, helping you easily navigate the codebase.

BuddyTrail/
├── .github/                         # GitHub-related configurations and templates
│   ├── ISSUE_TEMPLATE/              # Templates for raising issues
│   ├── assets/
│   ├── scripts/
│   └── workflows/
│       PULL_REQUEST_TEMPLATE.md     # Template for creating Pull Requests
│
├── .idea/                           # IDE configuration files (for JetBrains IDEs)
├── .vscode/                         # IDE configuration files (for Visual Studio Code)
│
├── backend/                         # Backend logic (may contain API code or backend services)
│
├── contributor/                     # Contributor guidelines and resources
│   ├── contributor.css              # Guidelines for contributing to the project
│   ├── contributor.html          # Code of Conduct for contributors
│   ├── contributor.js
│
├── icons/                           # Static icons used throughout the project
│
├── img/                             # Image files for the project
│
├── script/                          # JavaScript files for client-side logic
│   ├── popup.js                    
│
├── styles/                          # CSS stylesheets for different pages and components
│   ├── RatingStyle.css              # Styles for star rating feature
│   ├── auth.css                     # Styles for authentication pages
│   ├── chatbot.css                  # Styles for chatbot component
│   ├── contact.css                  # Styles for contact page
│   ├── fly.css                      # Styles for flight-related pages
│   ├── hotel.css                    # Styles for hotel-related pages
│   ├── style.css                    # Main stylesheet for overall site design
│   ├── about.css                    # Styles for about page
│
├── .gitignore                       # Git ignore file to exclude certain files/folders from being pushed to GitHub
├── .gitmodules                      # Git submodules configuration file
├── LICENSE                          # License file for the project
├── README.md                        # Project overview and setup guide
├── project-structure.md             # Documentation detailing the project structure
├── project_structure.txt            # Text file with the project structure
├── package.json                     # Project metadata and dependencies
├── package-lock.json                # Locked dependencies for reproducible builds
│
├── about.html                       # About page for the website
├── auth.html                        # Authentication page (Sign In/Sign Up)
├── book.html                        # Booking page for users
├── chatbot.gif                      # Animated GIF for chatbot feature
├── contact.html                     # Contact page for user inquiries
├── faq.html                         # FAQ page
├── fly.html                         # Flight booking or related page
├── forgot_password.html             # Password recovery page
├── hotel.html                       # Hotel information or booking page
├── index.html                       # Main landing page
├── reviews.html                     # Page for user reviews and ratings
├── team.html                        # Team members page
│
└── update discussion forum          # Discussion forum update file (possibly for changelogs or forum features)

🔥 Pull Request Process

Before submitting your Pull Request (PR), ensure the following:

Complete Testing: Make sure your changes work as expected and have been thoroughly tested. Adhere to Code Guidelines: Follow the project’s code style and guidelines. Include Meaningful Commit Messages: Describe what the PR is solving or adding. Link Issues: If your PR addresses an issue, mention it by adding a link to the issue in the description.

To submit your PR:

Push your branch to GitHub:

git push origin Feature-Name

Go to the repository on GitHub and click New Pull Request.

Complete the PR template, providing as much detail as possible, and submit it for review.


🐛 Issue Report Process

If you encounter a bug or have an idea for an improvement, please follow these steps to report an issue:

Search for Existing Issues: Before creating a new issue, check the Issue Tracker to see if the issue has already been reported. Open a New Issue: If the issue hasn’t been raised yet, click on New Issue and fill out the provided template with as much detail as possible. Be Specific: Provide detailed steps to reproduce the issue, the expected result, and the actual result. Include Screenshots/Logs: If applicable, add any relevant screenshots or log files to help us understand and resolve the issue faster.

🌐 Community and Communication

Join the BuddyTrail community and collaborate with developers from around the world!

Feel free to ask questions, share ideas, or collaborate with others to make BuddyTrail better!


📂 Project Structure

The Project Structure file in the root of the repository provides a detailed breakdown of the directory structure and important files.

Understanding the project structure will help you easily navigate the codebase and find what you're looking for. Take a look at it before you start contributing!


🌟 Need Inspiration?

Looking for ideas on how to contribute? Here are a few to get you started:

  • New Features: Suggest and build new features like trip itineraries, user profiles, or enhanced user reviews.
  • UI/UX Improvements: Help enhance the user experience by improving the website’s design and navigation.
  • Bug Fixes: Check out the open issues and help squash some bugs.
  • Documentation: Improve or extend our documentation to help onboard new contributors.

There’s something for everyone – find what inspires you and dive in!


🎊 Join the Adventure! 🗺️

Whether you’re a seasoned developer or a newcomer to open source, we’re thrilled to have you on board! BuddyTrail is all about making travel easy and enjoyable, and your contributions are key to achieving that.

Join us and help create a platform that inspires travelers across the globe!


Thank you for contributing! Together, we’ll make BuddyTrail the go-to platform for travelers everywhere. ✈️🌍🌟