A Real Time Peer-to-peer, video conference calling, broadcasting and media processing web application. This Project is about sharing your everyday. Watch your favorite shows with your friends, without being in the same room (or even the same city!). Collaborate with your coworkers when you’re all on the road. Shop together for a birthday present for Mom, then sing her “happy birthday” with family far away. The possibilities are endless.
RTConn requires the following technologies to run.
- Node.js v8+
- MongoDB v3.4+
- Redis v4.0.8+
- Docker v17+
- Docker-Compose v1.19.0+
NOTE: You don't have to install any of the stated requirement on your system (excluding Docker and Docker-Compose). Because all dependencies has been containerlized using docker.
RTConn is very easy to install and deploy using Docker. This project includes a docker-compose.yml file that setup your enviroment with all all required technology, and get you up and running quickly.
By default, Docker-Compose will expose port 3000 on the host machine, mounted to port 3000 on the container
Ensure you have Docker and docker-compose installed on your system. Visit the official docker page for installation procedure.
After installation, running the following command will output somethig similar
$ docker -v
Docker version 17.12.0-ce, build c97c6d6
$ docker-compose -v
docker-compose version 1.19.0, build 9e633ef
Start up RTConn using docker-compose
$ make dev
This will create the RTConn image and pull in the necessary dependencies.
Verify the deployment by navigating to your server address in your preferred browser.
127.0.0.1:3000
or
localhost:3000
Want to contribute? Great!
RTConn uses Gulp for fast developing. So that when you make a change in your file and you will instantanously see updates!
To run automated test run these commands. This will also trigger the lintting.
$ cd src/
$ npm test
$ cd src/
$ npm run test:coverage
RTConn uses ESLint The pluggable linting utility for JavaScript and JSX.
$ cd src/
$ npm run lint
or
$ npm run lint:watch
NOTE: Linting is setup as a pre-commit hook and pretest script.
$ cd src/
$ npm run lint:fix
$ cd src/
$ npm run lint:watch
Coming soon!!!
- Write more tests
- Integrate with Kubernetes
- Add Jenkins CI/CD pipeline
- Deploy with Chef
- Provision infastructure using Terraform
- Develope RTConn
RTConn is developed and maintained by Don Peter C. Atunalu a student of The European University of Lefke BSc. Computer Engineering, as his final year project