This is the source code for the Austin Public Library meeting room booking page code prototype.
- TypeScript v5.8
- React v18
- React Router v7
- Tailwind CSS v3
- USWDS
- Node Version Manager
- npm
- Prettier
- ESLint v8
- Build-time environment variable validation
- @deno/kv
- Mapbox GL JS
- Visual Studio Code (or one of its derivatives)
.
├── app
│ ├── components
│ │ └── ...
│ ├── data
│ │ └── ...
│ ├── lib
│ │ └── ...
│ ├── root.tsx
│ ├── routes
│ │ └── ...
│ ├── routes.ts
│ ├── shared
│ │ └── ...
│ └── styles
│ └── tailwind.css
├── .env
├── env.ts
├── env.d.ts
├── package.json
├── postcss.config.js
├── react-router.config.ts
├── tailwind.config.ts
├── tailwindcss-uswds
│ └── ...
├── tsconfig.json
└── vite.config.ts
This prototype is built and maintained by a small team of mostly volunteers – we'd love your help to fix bugs and add features!
There is a short guide for setting up a local development environment in CONTRIBUTING.md if you wish to contribute changes, fixes, and improvements to the Meeting Room prototype.
Before submitting a pull request, please discuss with the core team by creating or commenting in an issue on GitHub – we'd also love to hear from you in the discussions. This way we can ensure that an approach is agreed on before code is written. This will result in a much higher likelihood of your code being accepted.
If you’re looking for ways to get started, here's a list of ways to help us improve this prototype:
- Issues with good first issue label
- Developer happiness and documentation
- Bugs and other issues listed on GitHub
We aim to have sufficient test coverage for critical parts of the prototype and aren't aiming for 100% unit test coverage.
To add new tests, write your tests with Vitest and add a file with .test.ts
extension in the same directory as the tested code.
# To run all tests
npm run test
# To run tests in dev watch mode
npm run test:dev