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.
- Code of Conduct
- Ways to Contribute
- Development Workflow
- Code Standards
- Frontend Guidelines
- Backend Guidelines
- Commit Message Guidelines
- Pull Request Process
- Getting Help
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. ✨
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.
- Fork the Repository
git fork https://github.com/SandeepVashishtha/Eventra.git cd Eventra - Create a Feature Branch
git checkout -b feature/amazing-feature- Make Your Changes Follow the code standards and test your changes locally.
- Commit Your Changes
git commit -m "feat: add amazing feature"- Push to Your Branch
git push origin feature/amazing-feature- Open a Pull Request Submit a PR with a clear description of your changes.
Maintaining consistent coding standards ensures readability, maintainability, and collaboration across Eventra.
- 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.
- 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.
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.
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.
- React 18.2.0
- React Router DOM for routing
- Framer Motion for animations
- Use ESLint + Prettier for consistent formatting.
- Store API configurations in
src/config/api.js. - Write modular, reusable components with proper naming conventions.
- Configure environment variables using a
.envfile. - Refer to
.env.examplefor required variables and structure.
- Java 17
- Spring Boot 3.3.1
- Databases: MySQL for production, H2 for development/testing
- 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.
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
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.
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:
-
Sync your branch
- Ensure your feature or fix branch is up to date with the latest
mainbranch. - Resolve any merge conflicts before opening your PR.
- Ensure your feature or fix branch is up to date with the latest
-
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.
-
Run all tests and checks
- Ensure that all unit, integration, and lint tests pass.
- If new functionality is added, write appropriate tests.
-
Follow coding conventions
- Use consistent formatting, naming, and structure as defined in our Code Standards.
-
Request a review
- Assign at least one maintainer or tag a reviewer in your PR.
- Be open to feedback and make revisions as needed.
-
Wait for approval & merge
- Once approved, your PR will be merged by a maintainer. 🎉
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.
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. 🚀💙