An open API service indexing awesome lists of open source software.

https://github.com/dacmarcell/gamerave

GameRave is an API built in Node.js with a PostgreSQL database running on Docker and utilizing TypeORM. Users can create games and provide critiques about them. Additionally, it features a system of likes and dislikes.
https://github.com/dacmarcell/gamerave

docker postgresql typeorm typescript

Last synced: 3 months ago
JSON representation

GameRave is an API built in Node.js with a PostgreSQL database running on Docker and utilizing TypeORM. Users can create games and provide critiques about them. Additionally, it features a system of likes and dislikes.

Awesome Lists containing this project

README

        


















🎮 GameRave 🎮

# GameRave - Game Reviews

GameRave is an API built in Node.js with a PostgreSQL database running on Docker and utilizing TypeORM. Users can create games and provide critiques about them. Additionally, it features a system of likes and dislikes. Perfect for you to develop your frontend with this completely free API.

## How to Run?

Steps to run this project:

1. Run `npm i` command
2. Run `docker-compose up -d` command
3. Run `npm run migration:run` command
4. Run `npm start` command

## Features

- Create, Read and Delete Games
- Create, Read, Update and Delete Reviews
- Like a Game
- Like a Review
- Dislike a Game
- Dislike a Review
- Games can have multiples reviews

### GameRave API Documentation

#### Returns all Games

```http
GET /games
```

#### Return one game

```http
GET /games/:id
```

#### Create a Game

```http
POST /games
```

| Parameters | Type | Description |
| :--------- | :------- | :----------------------- |
| `name` | `string` | **Mandatory**. Game Name |

#### Delete a Game

```http
DELETE /games/:id
```

#### Returns all Reviews

```http
GET /reviews
```

#### Return one Review

```http
GET /reviews/:id
```

#### Create a Review

```http
POST /reviews
```

| Parameters | Type | Description |
| :------------ | :-------- | :----------------------------------------------------------- |
| `title` | `string` | **Mandatory**. Review's Title |
| `description` | `string` | **Mandatory**. Review's Description |
| `gameName` | `boolean` | **Mandatory**. The name of the game that the review was made |

#### Update a Review

```http
PUT /reviews/:id
```

| Parameters | Type | Description |
| :------------ | :-------- | :-------------------------------------------- |
| `title` | `string` | Review's Title |
| `description` | `string` | Review's Description |
| `gameName` | `boolean` | The name of the game that the review was made |

#### Delete a Review

```http
DELETE /reviews/:id
```

#### Like a Game

```http
POST /like/:id
```

#### Like a Review

```http
POST /like-review/:id
```

#### Dislike a Game

```http
POST /dislike/:id
```

#### Dislike a Review

```http
POST /dislike-review/:id
```