Giter VIP home page Giter VIP logo

fcc-vatrp-webrtc's Introduction

WebRTC VATRP

Release Notes

Detailed release notes are in the docs directory.

Pre-requisites

To initialize, running yarn will install the necessary dependencies. This command also needs to be re-run whenever a new dependency is added to package.json. After installation, run yarn copy-custom to add custom JSSIP geolocation functionality into the application.

Building the project

To build the project, you need to first install docker and docker-compose. Usually, if you want to run a new build, just run docker-compose up, which will create a dist directory if it does not already exist, and create executables there. If you change the package.json to add new dependencies, run a docker-compose down followed by a docker-compose build to refresh the dependencies. The first time the build is run on a fresh container, it will download electron-builder dependencies - you can volume mount the cache directories to skip this, but this may cause incompatibilities if you pick up a newer version of electron-builder.

You can also build outside of docker with a yarn build, which :should: work on Windows, MacOS, and Linux (though it's only verified on CentOS)

Running the project

We run the project through yarn scripts. Two terminals are required, one to run the react server and one to start the electron process. In the first terminal, run yarn start to start the react server, and in the second terminal yarn electron-start to start the electron process

Useful links

For those new to React, the concepts guide in React's official documentation is a great place to start.

Electron also has an excellent set of documentation, as well as an informative electron-api-demos project repository which serves as a useful guide for seeing electron APIs in action.

Troubleshooting

If yarn electron-start is not working (Electron window is not opening), a known bug may be occuring with Electron's roaming appdata. A script to fix this issue has been created and can be run with yarn fix-electron

Project Structure

.vscode

Contains project-specific settings, including debugging configurations

config

Contains configuration files for many pieces of infrastructure our code uses including webpack, jest, and general settings

docs

Contains the release note, docker build instructions, and a sample JSON profile

electronSrc

Contains javascript files related specifically to the electron process including handlers for hardware components like cameras and file access

public

front-facing files including the index.html, stylesheets and bootstrap-specific files

reactSrc

Contains react-specific files, including component definitions, workers, env files and services

scripts

when a yarn script (eg. yarn start) needs a javascript portion, that script goes in this directory

fcc-vatrp-webrtc's People

Contributors

mitre-mgarber avatar

Watchers

MITRE FCC ACE avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.