-
Notifications
You must be signed in to change notification settings - Fork 2
TECHNOLOGIES, LIBRARIES AND TOOLS
To contribute to the backend development of the Cloud Kitchen application, ensure that you have the following prerequisites:
JDK 17: The project is developed using Java 17. Make sure you have the appropriate JDK version installed.
The backend stack utilizes the following technologies and tools:
- nova funiionlalidade
- Spring Boot: The application is built using the Spring Boot framework.
- Spring Boot Starter Data JPA: For simplified data access using the Java Persistence API.
- Spring Boot Starter Web: For building RESTful APIs and web applications.
- iText PDF: A library for creating and manipulating PDF documents.
- Jackson Databind: Used for JSON data-binding.
- Spring Boot DevTools: For automatic application restarts during development.
- Oracle JDBC Driver (ojdbc8 and ojdbc11-production): To connect to the Oracle Database.
- Oracle Database Security Libraries (oraclepki, osdt_cert, osdt_core): Necessary for secure database communication.
- Springdoc OpenAPI: Integration for API documentation generation using OpenAPI.
The project uses Maven for build and dependency management. Ensure that Maven is installed on your development environment.
The backend is thoroughly tested using JUnit, and code coverage is assessed using the JaCoCo plugin. Developers are encouraged to write unit tests for their code contributions.
The project adopts the Gitflow strategy for branch management. Continuous Integration is implemented using GitHub Actions. Each pull request triggers a CI pipeline, ensuring that the proposed changes pass all checks before being merged into the develop branch.
The deployment process involves the generation of a deployable artifact (jar) through the CI pipeline. This artifact is then transferred to the production server, where a subsequent job manages the deployment process.
For frontend development on the Cloud Kitchen application, ensure that you have the following prerequisites:
Node.js: The frontend is developed using Vue.js, and Node.js is required for package management.
The frontend stack includes the following technologies and tools:
- Vue.js: The JavaScript framework used for building the user interface.
- Vite: The build tool that powers the frontend development workflow.
- Axios: A promise-based HTTP client for making API requests.
- Chart.js: A JavaScript library for creating interactive charts.
- FontAwesome: For including scalable vector icons in the application.
- Date-fns: A library for manipulating JavaScript dates.
- PrimeVue: A Vue UI Component Library.
- Vue-Router: The official router for Vue.js applications.
- Pinia: The state management solution for Vue.js applications.
- Vuetify: A Vue UI library with a set of Material Design components.
- Vue3-datepicker: A date picker component for Vue.js applications.
- Chartjs-plugin-datalabels: A Chart.js plugin for displaying data labels.
To set up your development environment, run the following commands in the project directory:
Install dependencies
npm install
Compiles and hot-reloads for development
npm run dev
The frontend includes unit tests written using Jest and end-to-end tests using Vitest. Developers are encouraged to write tests for their components to ensure the reliability of the frontend code.
Similar to the backend, the frontend development also follows the Gitflow strategy. GitHub Actions is used for continuous integration, ensuring that each pull request is validated before being merged.