This is the codebase for Miter, a web-based better-meetings app created by Miter, Inc., a startup that operated 2020-2022. We have open-sourced as of December, 2022. Cheers.
ℹ️ THIS IS DEFINITELY OUT OF DATE. If you run these instructions and debug something, please let us know.
⛔️ Note also that the server tests will not all pass right now. Most notably this is because I've removed the content
from /server/testing/gcal-list-events-result.json since it contained my actual personal calendar data. But in addition,
I did some batch scrubbing of team email addresses and other potentially-real info from our sample data. Mostly I did it
in a global-find-and-replace sort of way that should leave the tests intact but that may not be 100% true. If you find
errors, feel free to submit a PR!
First, you'll get our main codebase (the miter-app repo) running. It contains the client and server projects, along with the common module that's shared between them.
Start with the platform-specific setup file in the README-subpages folder alongside this README.
Windows - Initial Setup with WSL
- You'll need a Google cloud project to support both authentication and GCal access. We'd recommend having one for production, and one for development. For the latter, copy the client ID and client secret into your local server
.envfile. (And you'll need to do the equivalent on whatever platform you're hosting the server.) The's also a similar procedure for Hubspot if you want to use that. Where does that.envcome from? Just make a copy ofsample.env.
- The repo contains several separate projects. It's possible for some very limited testing to run
serverandweb/clientside by side, but most of the time you'll first do annpm run buildon client, which builds the client into a directory on the server. - The
commonmodule is code shared between client and server. - To run the server:
cdintoserverandnpm run dev. It should start a server at[localhost:3000](http://localhost:3000)and auto-restart it in response to code changes. 🔥 This will fail the very first time you do it—it'll go into an infinite loop due to an as-yet-unfixed bug in our build system. JustCtrl-Cand do it again.- Use a service like ngrok to point a persistent domain at your local server. Then you can register that domain with your Google project.
- Note: Avoid using
npm run buildon the server locally. It will generate a whole log of JS files you then have to delete.
💡 That might be enough for now, but when you're ready for more, head on over to Setup, Part Two.
- In order to support
LESSfiles directly (which made working withantdcomponents easier), and to allow use of thecommonmodule, we usecracoto support modification of the React build process without ejecting fromreact-scripts. We wish we hadn't done that, because that's blocked our ability to upgrade toreact-scriptsv4 (whichcracostill doesn't support). We've done most of the work to back out of directLESSoverrides forantd, and at this point moving over toSASSshould be pretty easy. We still don't have a good answer on thecommonmodule. But thereact-scriptsissue is getting pretty severe, as newer functionality relies on v5 more and more. If we were continuing operations, we would probably drop everything for a week or two and fix this.