Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/ashikka/sike-service

Backend repository for Sike
https://github.com/ashikka/sike-service

docker game hacktoberfest hacktoberfest2021 joi-validation mongodb mongoose nodejs socket-io socket-programming typescript

Last synced: about 2 hours ago
JSON representation

Backend repository for Sike

Awesome Lists containing this project

README

        

![GitHub issues](https://img.shields.io/github/issues/ashikka/sike-service)
![GitHub closed pull requests](https://img.shields.io/github/issues-pr-closed/ashikka/sike-service?color=green)
![GitHub pull requests](https://img.shields.io/github/issues-pr/ashikka/sike-service?color=blue)





logo

sike-service


The popular game Psych made better!


Explore the docs »




View Demo
·
Report Bug
·
Request Feature

## Table of Contents

* [About the Project](#about-the-project)
* [Built With](#built-with)
* [Getting Started](#getting-started)
* [Prerequisites](#prerequisites)
* [Installation](#installation)
* [Usage](#usage)
* [Roadmap](#roadmap)
* [Contributing](#contributing)
* [License](#license)
* [Contributors](#contributors-)

## About The Project

game-flow

We’re sure you’ve played *PSYCH!*, a fun guessing game by Ellen DeGeneres, where trivia meets Cards Against Humanity. Then you must also be aware of how the game recently has become increasingly monetized making it a bit difficult to play it your friends.

We have developed a website to get your needs covered with this website version of *PSYCH!*. Choose from a variety of fun and hilarious categories, such as “The Truth Comes Out,” in which you and your friends become the game! Get ready to answer funny and ridiculous questions about one another.

**Sike!** is the perfect free website for family or friends game night, Zoom calls, road trips, or even waiting in line! Grab your devices, gather ‘round, and get ready for a gaming experience unlike any other house party game you’ve ever played!

### Built With

* [express](https://www.npmjs.com/package/express)
* [nodemon](https://www.npmjs.com/package/nodemon)
* [joi](https://www.npmjs.com/package/nodemon)
* [uuid](https://www.npmjs.com/package/uuid)
* [mongoose](https://www.npmjs.com/package/mongoose)
* [socket.io](https://www.npmjs.com/package/socket.io)
* [winston](https://www.npmjs.com/package/winston)

## Getting Started

To get a local copy up and running follow these simple steps.

### Prerequisites

This is an example of how to list things you need to use the software and how to install them.
* npm
```sh
npm install npm@latest -g
```

* Typescript
```sh
npm install -g typescript
```

### Installation

1. Clone the repo
```sh
git clone https://github.com/ashikka/sike-service.git
```
2. Install NPM packages
```sh
npm install
```
3. Add necessary environment variables to `.env` file.

```sh
{
echo 'PORT='
echo 'DB_URL='
} >> .env
```

## Usage

### 1. Create room

```http
POST /room/join
```

| Parameter | Type | Description |
| :--------: | :-------: | :------------------------------: |
| `body` | `string` | username |
| `body` | `number` | rounds |

### Response format

```json
{
"success": true,
"message": "Game created successfully",
"data": {
"rounds": 1,
"roomId": "someRandomUUID",
"creator": "creatorName"
}
}
```

### 2. Join a created room

```http
POST /room/join/:roomId
```

| Parameter | Type | Description |
| :--------: | :---: | :--------------------------------: |
| `body` | `string` | username |

### Response Format

```json
{
"success": true,
"message": "Room joined successfully",
"data": {
"players": 4,
"roomId": "someRandomUUID"
}
}
```

## Roadmap

See the [open issues](https://github.com/ashikka/sike-service/issues) for a list of proposed features (and known issues).

## Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'feat: Add some AmazingFeature'`)
4. Push to the Branch (`git push -u origin feature/AmazingFeature`)
5. Open a Pull Request

You are requested to follow the contribution guidelines specified in [CONTRIBUTING.md](./CONTRIBUTING.md) while contributing to the project :smile:.

## License

Distributed under the MIT License. See [`LICENSE`](./LICENSE) for more information.

[csivitu-shield]: https://img.shields.io/badge/csivitu-csivitu-blue
[csivitu-url]: https://csivit.com
[issues-shield]: https://img.shields.io/github/issues/csivitu/Template.svg?style=flat-square
[issues-url]: https://github.com/ashikka/sike-service/issues