backend-gamerscore-hub
所属分类:MySQL数据库
开发工具:Java
文件大小:0KB
下载次数:0
上传日期:2023-08-31 19:11:39
上 传 者:
sh-1993
说明: API para o GamerScore中心,
(API para o GamerScore-Hub,)
文件列表:
.mvn/ (0, 2023-09-07)
.mvn/wrapper/ (0, 2023-09-07)
.mvn/wrapper/maven-wrapper.jar (62547, 2023-09-07)
.mvn/wrapper/maven-wrapper.properties (233, 2023-09-07)
: [ main ] (15118, 2023-09-07)
Dockerhub (142, 2023-09-07)
LICENSE (11365, 2023-09-07)
docker-compose.yml (359, 2023-09-07)
mvnw (11290, 2023-09-07)
mvnw.cmd (7592, 2023-09-07)
pom.xml (3376, 2023-09-07)
src/ (0, 2023-09-07)
src/main/ (0, 2023-09-07)
src/main/java/ (0, 2023-09-07)
src/main/java/br/ (0, 2023-09-07)
src/main/java/br/com/ (0, 2023-09-07)
src/main/java/br/com/itcpn/ (0, 2023-09-07)
src/main/java/br/com/itcpn/gamescorehub/ (0, 2023-09-07)
src/main/java/br/com/itcpn/gamescorehub/GamescorehubApplication.java (330, 2023-09-07)
src/main/java/br/com/itcpn/gamescorehub/controller/ (0, 2023-09-07)
src/main/java/br/com/itcpn/gamescorehub/controller/AuthController.java (2352, 2023-09-07)
src/main/java/br/com/itcpn/gamescorehub/controller/CategorieController.java (1222, 2023-09-07)
src/main/java/br/com/itcpn/gamescorehub/controller/GameController.java (3217, 2023-09-07)
src/main/java/br/com/itcpn/gamescorehub/controller/PlatformController.java (1308, 2023-09-07)
src/main/java/br/com/itcpn/gamescorehub/controller/PublicNoteController.java (1497, 2023-09-07)
src/main/java/br/com/itcpn/gamescorehub/controller/UserController.java (1585, 2023-09-07)
src/main/java/br/com/itcpn/gamescorehub/domain/ (0, 2023-09-07)
src/main/java/br/com/itcpn/gamescorehub/domain/caserules/ (0, 2023-09-07)
src/main/java/br/com/itcpn/gamescorehub/domain/caserules/ImageURLValidator.java (920, 2023-09-07)
src/main/java/br/com/itcpn/gamescorehub/domain/caserules/ValidImageURL.java (468, 2023-09-07)
src/main/java/br/com/itcpn/gamescorehub/domain/categorie/ (0, 2023-09-07)
src/main/java/br/com/itcpn/gamescorehub/domain/categorie/Categorie.java (782, 2023-09-07)
src/main/java/br/com/itcpn/gamescorehub/domain/categorie/dto/ (0, 2023-09-07)
src/main/java/br/com/itcpn/gamescorehub/domain/categorie/dto/CategorieDTO.java (341, 2023-09-07)
... ...
# GamerScore-Hub (Backend)
[![License MIT](https://img.shields.io/github/license/Ivi-SCD/backend-gamerscore-hub?style=for-the-badge&logo=License")](https://github.com/Ivi-SCD/poo-java/blob/main/LICENSE)
![Stars](https://img.shields.io/github/stars/Ivi-SCD/backend-gamerscore-hub?style=for-the-badge&logo=License")
![Forks](https://img.shields.io/github/forks/Ivi-SCD/backend-gamerscore-hub?style=for-the-badge&logo=License")
**Welcome to GamerScoreHub (the web-based game ranking system) backend repository**. The purpose of this system is to enable users to keep track of newly released games and rate games.
### Project Steps
* *Requirement Collection and Analysis*
* *Development of the [Logical Model](https://github.com/Ivi-SCD/backend-gamerscore-hub/assets/81643916/68a6fc54-0e1f-433d-ba94-fedca3d5f221)*
* *Backend Development + [Physical Model](https://github.com/Ivi-SCD/backend-gamerscore-hub/assets/81643916/a071fd08-a7a0-4d02-9d74-b78ee33a1601)*
* *API Development*
* *Testing*
* *CI/CD Pipeline*
* *Deployment*
* *Front-End Development **(In progress)***
### Technologies Used
The primary programming language for API development was **Java in its version 17 and OpenJDK 20**. The chosen package manager for better dependency management was **Maven** for its support and practicality.
* Java
* Maven
#### Frameworks and Libraries
* Spring Boot
* Spring Data JPA
* JWT
* Spring Security
* Springdoc OpenAPI
* Bean Validation
* JUnit
* Flyway
* Lombok
The framework used was Spring for its autoconfiguration of external dependencies and ease of coding, along with various compatible libraries for the project's purposes. **JPA was used as an ORM tool**, and **migration control with Flyway**. Additionally, **JWT implementation with Spring Security** was done to maintain API security and best practices, and **documentation with SpringDoc (Swagger)**. Integration tests were also implemented using the same root database to make integration testing more accurate.
#### Databases
* MySQL
The primary database used was **MySQL in its version 8.0** due to its support for small and medium-sized applications and scalability compatible with the project's objectives.
#### Development Tools
* Git
* Github Action
* Github
* Docker
* IntelliJ
The primary tool for code versioning was **Git**. Additionally, the entire development environment was used in the popular Jetbrains IntelliJ IDE. CI/CD pipelines were built with Github Action, and the application's Dockerization process was automated with the Docker.yml workflow.
**Deployment:**
* Railway
Furthermore, the application was deployed using the Railway tool.
### How to Run the Project
There are two ways to run the project, with the first (taught in this section) involving cloning the project and the second pulling the image directly from Dockerhub:
1. Clone the repository using the command:
```
git clone https://github.com/Ivi-SCD/backend-gamerscore-hub.git
```
2. Start the database defined in the docker-compose.yml file:
```
docker-compose up -d
```
3. Run the application in your favorite IDE.
近期下载者:
相关文件:
收藏者: