E-commerce Price Query Service
Build Status | |
---|---|
JaCoCo Test Coverage | |
Other Information |
Feature | Description | |
---|---|---|
โ๏ธ | Architecture | The project follows a layered architecture, with a clear separation between the controller (REST) layer, service layer, and data access layer. The single responsibility principle is used to keep each layer focused on a specific task. |
๐ฉ | Code Quality | The codebase demonstrates good coding practices, adhering to the Google code style guidelines. It follows a modular approach, making the codebase easy to read, understand, and maintain. Proper naming conventions and documentation enhance code readability. |
๐ | Documentation | Although not extensive, the provided documentation is sufficient for developers to understand the codebase and its components. |
๐งฉ | Modularity | The codebase demonstrates good modularity, separating different components into their respective modules. This modular approach allows for easy reusability and maintainability of code. Each module focuses on a specific functionality, making it easier to understand and modify. |
๐งช | Testing | The project includes unit tests using JUnit to verify the functionality of individual classes. It also includes some integration tests. The tests cover important features such as data storage, JSON conversion, and user interactions. |
โก๏ธ | Performance | The project is designed to be efficient and responsive, with no noticeable performance issues. |
๐ฆ | Dependencies | Key external libraries and dependencies used in the project include Flyway for manage database migrations, and JUnit for unit testing. These dependencies provide necessary functionality and enhance development efficiency. |
โโโ challenge/
โโโ .github
โ โโโ badges
โ โโโ workflows
โโโ LICENSE
โโโ doc
โ โโโ prices.http
โโโ mvnw
โโโ mvnw.cmd
โโโ pom.xml
โโโ src
โโโ main
โโโ test
System Requirements:
- Java:
version 17.0.9
- Clone the challenge repository:
$ git clone https://github.com/jvegaf/challenge
- Change to the project directory:
$ cd challenge
- Install the dependencies:
$ mvn clean install
Run challenge using the command below:
$ java -jar target/challenge-1.0.0.jar
Run the test suite using the command below:
$ mvn test
Contributions are welcome! Here are several ways you can contribute:
- Report Issues: Submit bugs found or log feature requests for the
challenge
project. - Submit Pull Requests: Review open PRs, and submit your own PRs.
- Join the Discussions: Share your insights, provide feedback, or ask questions.
Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your github account.
- Clone Locally: Clone the forked repository to your local machine using a git client.
git clone https://github.com/jvegaf/challenge
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.'
- Push to github: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
- Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
This project released under the MIT License. For more details, refer to the LICENSE file.