This is a "monorepo" of stuff that I like working on. Most of the seperate project directories have their own READMEs, which should help provide some more guidance on what they do.
I like working on projects. The key thing I like about CS as a field is that I can have an idea and then just do it. It might not always be a good idea; if it is a good idea, someone else will probably already have made a better version of it. Neither of those things get in the way of me enjoying working on projects.
But having several repos each containing a single project is kinda inconvenient. It means I would need to publish a large number of very small utilities in order to get a consistent development experience, and I don't think that's great for anyone. Monorepos are the solution to that for big companies (among other problems), and I think they'll work well enough for me. (More to the point, I've worked at a company with significant inter-project dependencies, and we needed to put a lot of work into faking a monorepo at build-time in order to catch integration problems, and what we put together only kind-of solved the problem).
The MIT license. See LICENSE.md for details.
In general, no.
If you want to, though, go for it! I'm very open to issues or PRs, though I can't always guarantee that I'll get to them in a timely manner. Individual projects within this repo will have more information on building an using them, as well as a more detailed description of their status.
All of the backend things are built with bazel. I don't know Bazel that well, but I'm learning as I go.
You should see individual folders for more detailed information.
You can test everything (in CI, for instance) with bazel test ....
Frontend things are built with Node / Yarn, seperately from all the backend things. I haven't been able to get the frontend build to play nicely with Bazel, so it's basically just a seperate workspace on top of the backend one, living in the same repository.
packages/punchcard-ui- Contains the frontend for thepunchcardbackend. A typescript / create-react-app single-page application.- Build with
yarn workspace punchcard-ui build - Test with
yarn workspace punchcard-ui test - Run dev server with
yarn workspace punchcard-ui start. If you do this, you can start a mock backend withyarn run punchcard:backend(or, I guess, you can run the real backend, but it's kinda inconvenient).
- Build with
You can test everything (in CI, for instance) with yarn workspaces test.