Thank you for considering contributing to our project! Your contributions are essential for improving the Book Store application and helping the community. This guide outlines the process for contributing effectively.
The Book Store project is a back-end application for an online bookstore. It is built using modern technologies to ensure scalability, reliability, and ease of use.
- Framework: NestJS
- Database: PostgreSQL
- ORM: TypeORM
- Documentation: Swagger
- Storage: AWS S3
- Multilingual support.
- Comprehensive API documentation.
- Advanced search functionality.
- Scalable and well-structured codebase.
If you discover a bug, please help us improve by reporting it:
- Check for duplicates: Before creating a new issue, search the issues section to see if the bug has already been reported.
- Open an issue: If the bug is new, create an issue with the following details:
- A descriptive title.
- Steps to reproduce the bug.
- Expected and actual behavior.
- Relevant logs, screenshots, or error messages.
- Environment details (e.g., OS, Node.js version, dependencies).
Have a great idea? We would love to hear it! To suggest a feature:
- Open a feature request: Use the issues section and select the appropriate template for feature suggestions.
- Provide details:
- What problem does this feature solve?
- How will it improve the project?
- Any potential implementation suggestions.
We welcome contributions to the codebase via pull requests. Please follow these steps:
- Fork the repository:
- Click the "Fork" button at the top-right corner of the repository page.
- Clone your fork:
git clone https://github.com/mamalli11/book-store.git
- Set up your environment:
- Install dependencies with
npm install
.
- Install dependencies with
- Create a new branch:
git checkout -b feature/your-feature-name
- Make your changes:
- Ensure your changes follow the Code Style guidelines.
- Write tests for new functionality.
- Commit your changes:
git commit -m "Add a descriptive commit message"
- Push to your fork:
git push origin feature/your-feature-name
- Open a pull request (PR):
- Go to the original repository.
- Click "New pull request" and select your branch.
- Provide a clear and concise description of your changes, linking to relevant issues if applicable.
To maintain a consistent codebase, follow these guidelines:
- Use Prettier for formatting.
- Follow the JavaScript Standard Style (or TypeScript equivalent, if applicable).
- Write clear, concise, and self-documenting code.
- Include comments for complex logic.
- Avoid introducing unnecessary dependencies.
Before submitting a pull request, ensure your code passes all linting and testing checks:
- Run the linter:
npm run lint
- Run the tests:
npm test
Use meaningful and conventional commit messages:
- Feature addition:
feat: add user authentication
- Bug fix:
fix: resolve checkout page crash
- Documentation:
docs: update README with installation instructions
- Refactor:
refactor: optimize search functionality
For detailed guidelines, refer to the Conventional Commits specification.
To ensure a welcoming and productive environment:
- Be respectful and constructive in discussions.
- Avoid personal attacks or derogatory language.
- Follow the Code of Conduct (if available).
For any questions or concerns, feel free to open an issue or contact the maintainers via email at [email protected].
We look forward to your contributions! Thank you for making Book Store better.