Debate Map (Client)
The Debate Map project is a web platform aimed at improving the efficiency of discussion and debate. It's crowd-sourced and open-source, and welcomes reader contributions.
Its primary improvements are (in short):
- Restructuring dialogue to make use of both dimensions.
- Breaking down lines of reasoning into single-sentence "nodes".
- Providing rich tools that operate on those nodes -- such as rating, tagging, statistical analysis, and belief-tree sharing and comparison.
The maps are constructed from "theses" (blue) which make claims, and "arguments" (green and red) which support/oppose those claims. This structure cuts down on reading time, and lets us focus on the underlying chains of reasoning instead of parsing statement meanings and connections.
For more information, visit the website at: https://debatemap.app
Workspace setup
- Clone the repo to disk: https://github.com/debate-map/client.git
- Run
npm installin the project's root folder.
For recommended setup of your code editor and other tools, see: Editor setup
Running locally
- Run
tscin a console, and keep it running in the background. - Run
npm start devin the root project folder. (ornpm start dev-with-stats) - Navigate to
localhost:3005.
Firebase setup + project config (if forking)
- Create two Google Firebase projects -- one for development, one for production.
- Edit the
.firebasercandScripts/Build/CreateConfig.jsfiles, replacing their paths and data with your own. - Add at least one form of authentication to your Firebase projects. (Google sign-in is easiest)
- Run the project locally. (see "Running locally" section below)
- Sign in, using the panel at the top-right.
- Add "?init=true" to the address-bar url, and reload the page.
- Press the "Initialize database" button which will appear at the top-left.
Deploying to Firebase
- Make sure you have the firebase cli tools installed (
npm install -g firebase-tools), and that you're logged in (firebase login). - Run
tscin a console, and keep it running in the background. (this reduces deploy:prod-quick compile times from ~59s to ~32s, by enabling incremental compilation) - Run
npm start deploy.[dev/prod/prod-quick]. Note thatdeploy.prod-quicktime is ~32s, vs ~86s fordeploy.prod(since the former doesn't use minification and such).
Editor setup
The below are recommendations for your editor setup, which will make editing the project more efficient and less error prone. (due to matching our setup)
Browser: Chrome
Editor: Visual Studio Code
VSCode extensions:
- Search node_modules: Very helpful for quickly opening files in modules under
node_modules. - ESLint: Shows warnings when code does not match the project's coding style.