Skip to content

anchovycation/pingu-api

Repository files navigation


Pingu

The best way to watch YouTube by video chatting with friends.

It is not suitable for use as it is still in the development stage.

Introduce

Roadmap

You can see what we've done before and what we will work on in the future.

development

  • Chat
  • Embeded YouTube
  • Voice and Video chat
  • Basic test
  • Dockerize, CI/CD, GitHub Bots, pre-production

production

  • Admin panel

Technologies planned to be used

Node.js, TypeScript(optional), Nest.js, Socket.io, Redis, MongoDB, Peer.js

Folder structure

.
├── CONTRIBUTING.md # Contributing document
├── dist # Build folder
├── LICENSE
├── nodemon.json
├── package.json
├── package-lock.json
├── README.md
├── sample.env 
└── src
    ├── Constants
    │   ├── index.js
    │   └── SocketEvents.js
    ├── Events # socket events handlers, <job-category>/index.js
    │   ├── index.js 
    │   └── System
    │       └── index.js
    ├── server.js 
    └── Socket.js 

Usage

Install

git clone https://github.com/anchovycation/pingu-api.git
cd pingu-api

Setup

Install dependencies

npm install

Set environment variables

Copy sample.env file then changes values.

cp sample.env .env

Start

Production

npm start

Develpoment

Develop using hotreload

npm run start:dev

Lint

npm run lint

Fix lint errors:

npm run lint:fix

Build Code

npm run build

Contributing

If you want to contribute to the project, please first check if the work you are doing is already an issue. If there is an issue and there is someone assigned to the issue, contact that person. If there is no issue, you can send your development to the project managers by opening a pull request. Please read CONTRIBUTING.md

Contributors

License

GNU GENERAL PUBLIC LICENSE Version 3