Skip to content

Latest commit

 

History

History
229 lines (164 loc) · 8.79 KB

File metadata and controls

229 lines (164 loc) · 8.79 KB

🤝 Contributing to Eventra 🎉

Thank you for your interest in contributing to Eventra — a modern event management platform built for builders, communities, and creators.
We’re thrilled to have you on board! 🚀

This guide will help you understand how to contribute effectively, maintain high-quality standards, and collaborate seamlessly with our community.


📋 Table of Contents


📜 Code of Conduct

At Eventra, we believe that collaboration thrives in a respectful, inclusive, and supportive community.
Our goal is to ensure that every contributor feels valued and safe while participating in this project.

Before contributing, please take a moment to read our full Code of Conduct.
By participating, you agree to uphold these principles and help us maintain a positive environment for everyone.

Key principles:

  • 💬 Be respectful: Treat everyone with kindness and empathy.
  • 🤝 Be inclusive: Embrace diversity and welcome new voices.
  • 🌱 Be constructive: Offer helpful feedback and focus on solutions.
  • 🛡️ Be professional: Avoid harassment, personal attacks, or discriminatory behavior.

Together, we can make Eventra a safe and inspiring space for all contributors. ✨


🌟 Ways to Contribute

You can help improve Eventra in several ways:

  • Reporting Bugs – Open an issue with detailed reproduction steps.
  • Suggesting Features – Share ideas that can make Eventra even better.
  • Improving Documentation – Fix typos, add missing explanations, or improve clarity.
  • Code Contributions – Add new features, fix bugs, or improve existing code.
  • UI/UX Enhancements – Improve the design, animations, and user experience.

🛠️ Development Workflow

  1. Fork the Repository
    git fork https://github.com/SandeepVashishtha/Eventra.git
    cd Eventra
  2. Create a Feature Branch
git checkout -b feature/amazing-feature
  1. Make Your Changes Follow the code standards and test your changes locally.
  2. Commit Your Changes
git commit -m "feat: add amazing feature"
  1. Push to Your Branch
git push origin feature/amazing-feature
  1. Open a Pull Request Submit a PR with a clear description of your changes.

🧩 Code Standards

Maintaining consistent coding standards ensures readability, maintainability, and collaboration across Eventra.


⚙️ Backend Standards

  • Follow Java 17 conventions and coding guidelines.
  • Use Spring Boot best practices for project structure, dependency injection, and service layers.
  • Design and maintain RESTful APIs with clear endpoints, proper HTTP methods, and status codes.
  • Keep methods and classes concise and focused; avoid large, monolithic services.
  • Document all new endpoints using OpenAPI/Swagger to keep API docs up to date.
  • Handle exceptions gracefully and log errors appropriately.
  • Ensure secure database interactions and follow best practices for authentication and authorization.

🎨 Frontend Standards

  • Use functional components with React Hooks for state and lifecycle management.
  • Follow modern React best practices, including component composition and context usage.
  • Keep components small, reusable, and modular.
  • Maintain a consistent UI/UX design, ensuring accessibility and responsiveness across devices.
  • Store configuration and constants separately (e.g., src/config) to maintain clean code.
  • Use ESLint + Prettier to enforce consistent code style and formatting.

🧪 Testing

Proper testing ensures that our features are reliable and maintainable. Please follow these guidelines:

  • Write unit and integration tests for all new features and critical fixes.
  • Test thoroughly before submitting your PR to ensure everything works as expected.
  • Use descriptive test names and cover edge cases whenever possible.
  • Ensure tests pass consistently in both local and CI environments.

📖 Documentation

Good documentation helps other contributors understand and use your code effectively:

  • Update the README or project documentation for any new features or changes.
  • Add inline comments where necessary to clarify complex logic.
  • Keep documentation concise, clear, and up to date with code changes.

🎨 Frontend Guidelines

🛠 Tech Stack

  • React 18.2.0
  • React Router DOM for routing
  • Framer Motion for animations

💻 Code Style

  • Use ESLint + Prettier for consistent formatting.
  • Store API configurations in src/config/api.js.
  • Write modular, reusable components with proper naming conventions.

🌐 Environment

  • Configure environment variables using a .env file.
  • Refer to .env.example for required variables and structure.

⚙️ Backend Guidelines

🛠 Tech Stack

  • Java 17
  • Spring Boot 3.3.1
  • Databases: MySQL for production, H2 for development/testing

💻 Best Practices

  • Follow standard Spring Boot conventions for project structure.
  • Use proper exception handling and logging.
  • Ensure secure database connections and avoid exposing sensitive credentials.
  • Write clean, maintainable code with proper separation of concerns.

Commit Message Guidelines

We follow conventional commits:

  • feat: – New feature
  • fix: – Bug fix
  • docs: – Documentation only changes
  • style: – Code style changes (formatting, missing semicolons, etc.)
  • refactor: – Code changes that neither fix a bug nor add a feature
  • test: – Adding or updating tests
  • chore: – Maintenance tasks

💡 Examples of Commit Messages

Here are some practical examples following our Conventional Commits guidelines:

  • feat: add leaderboard component – Introduces a new feature.
  • fix: resolve API CORS issue – Fixes a bug in the API handling.
  • docs: update contributing guidelines – Updates documentation without affecting code.
  • style: format dashboard layout using Prettier – Adjusts code style or formatting.
  • refactor: simplify event creation logic – Refactors code without adding features or fixing bugs.
  • test: add integration tests for event routes – Adds or updates tests.
  • chore: update dependencies and clean up scripts – Routine maintenance tasks.

✅ Using these clear and descriptive messages keeps the git history readable and makes collaboration easier.

🚀 Pull Request Process

Submitting a pull request (PR) is how you share your awesome work with the Eventra community!
To make the review process smooth and efficient, please follow these steps:

  1. Sync your branch

    • Ensure your feature or fix branch is up to date with the latest main branch.
    • Resolve any merge conflicts before opening your PR.
  2. Describe your changes clearly
    In your PR description, please include:

    • 🧩 Problem Solved: What issue or feature does this address?
    • 💡 Approach: How did you solve it? Mention tools, libraries, or patterns used.
    • 🔗 Related Issues: Reference any related issues (e.g., Closes #123).
    • 🧪 Testing: Describe how you tested your changes and include screenshots if applicable.
  3. Run all tests and checks

    • Ensure that all unit, integration, and lint tests pass.
    • If new functionality is added, write appropriate tests.
  4. Follow coding conventions

    • Use consistent formatting, naming, and structure as defined in our Code Standards.
  5. Request a review

    • Assign at least one maintainer or tag a reviewer in your PR.
    • Be open to feedback and make revisions as needed.
  6. Wait for approval & merge

    • Once approved, your PR will be merged by a maintainer. 🎉

💬 Getting Help

Need assistance or want to discuss ideas? We’re here to help!

  • 🐞 Issues: Report bugs or request features.
  • 💭 Discussions: Share ideas, ask questions, or connect with contributors.
  • 📧 Contact Maintainers: For sensitive matters, reach out privately through the contact listed in the repository.

🎉 Final Note

Thank you for contributing to Eventra!
Your time, ideas, and code make this project better for everyone.
Together, we’re building a modern, open, and collaborative event management platform for the community. 🚀💙