Muncoordinated is a Model UN committee management service, (re)written with TypeScript, React, Semantic UI and Firebase, and available at muncoordinated.io.
This version of Muncoordinated began development at the end of 2017, ahead of SydMUN 2017. It began as a reimplementation of a previous version of Muncoordinated, built in Elm.
pnpm install && pnpm startRuns the app in the development mode.
Open http://localhost:5173 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
To run the app against the Firebase local emulator suite, start the emulators in one terminal and Vite with emulator wiring in another:
pnpm emulators
VITE_USE_FIREBASE_EMULATORS=true pnpm startThese commands expect the Firebase CLI (firebase) to be available on your
PATH through pnpm install and Java 21 or newer to be installed. On macOS, the
scripts automatically use a Homebrew OpenJDK 21 install when one is present.
pnpm testLaunches the test runner in the interactive watch mode.
See the section about running tests for more information.
pnpm test:e2eLaunches the Firebase Auth, Realtime Database, and Storage emulators, starts the
Vite dev server against them, seeds the Cypress test user and sandbox committee,
and runs the integration test runner.
See the section about The Test Runner
pnpm buildBuilds the app for production to the build folder.
It will bundle React in production mode and optimize the build for the best performance.
The build is minified and the filenames include the hashes.
It is strongly discouraged to maintain and deploy your own customized fork of Muncoordinated. Instead, consider giving back to the Model UN community by ensuring your custom features are merged into the version hosted at [muncoordinated.io].
Take a look at the open issues and submit some PRs that help address them.
You might also want access to some of the SaaS services that we've used to build Muncoordinated:
- Public Netlify deployment status
- Public Cypress integration test run recordings
- Private Sentry error logging (access available upon request)
- Private Google Analytics (access available upon request)
You can learn more in the Vite documentation.
To learn React, check out the React documentation.
This project exists thanks to all the people who contribute. Special thanks to:
GNU GPLv3 © Maxwell Bo
