Anyone providing assistance to the future of this project is considered a contributor. If you wish to play a part in this project, then thank you! This document outlines some of the ways to help.
The easiest way to communicate is via GitHub issues. Please search for similar issues regarding your concerns before opening a new issue. For everything else we ask to chat about it on GitHub Discussions or Slack.
You'll need the following:
- Git
- Node.JS (If you need to manage multiple Node.JS versions, use a node version manager to install)
- Source code of
presenter
repo
E.g.
gh repo fork shabados/presenter --clone=true
- Run
npm i
in the root directory. npm start
The above command spins up development servers. It launches a frontend on port 3000
and backend on port 42425
. Any changes to the backend will result in a restart. A manual restart can be triggered by entering rs
into the terminal.
Produce a tree-map of the bundle and look for potential bloat with at least one npm run build
and then as many npm run analyze
commands.
Electron-builder is used to generate binaries. Run npm run pack
for the binaries to test on your platform, and npm run dist
to build an installer. The production builds launch a frontend server on port 1699
and backend server port 42424
.
The app
folder contains the Electron wrapper, the backend Node application, and the frontend React application.
The frontend is using create-react-app
, websockets for synchronizing clients, and API for search.
The backend is using proposed ES+ modules with the esm
shim module.
Please see our docs for coding guidelines.
Scopes
- backend
- frontend/controller
- frontend/overlay
- frontend/presenter
- frontend/settings
Your contributions to open source (large or small!) make great projects like this possible. Thank you for taking the time to participate in this project.