This remix stack contains components and api helpers to build a website maintained with NovaDB.
Learn more about Remix Stacks.
This stack is still in an early stage.
- Examples how to fetch NovaDB data using the Delivery Api endpoints
- Some sample components and pages to get a feeling how NovaDb data could be fed to the Remix framework
- Static Types with TypeScript
- Styling with Tailwind
- Local third party request mocking with MSW
- Code formatting with Prettier
- Linting with ESLint
npx create-remix --template noxum/new-wave-stack
After the install phase, you will be asked for an Delivery Api endpoint. If you don't have one yet, just answer with no, by default the app will use mocked data for all api requests. If you want to connect to a real NovaDB instance, please contact us.
The api setup prompt does not support Windows yet
-
Start dev server:
cd <your project folder> npm run dev
This starts your app in development mode, rebuilding assets on file changes.
- api settings are stored locally in
.env
.- If you change the api endpoint here, please update the handlers too, otherwise the mocking won't take effect.
- helpers for accessing the Delivery API ./app/api/novaDb.ts
- A set of components ./app/components
- mock request handlers used by MSW ./mocks/handlers.ts
This project uses TypeScript. It's recommended to get TypeScript set up for your editor to get a really great in-editor experience with type checking and auto-complete. To run type checking across the whole project, run npm run typecheck
.
The existing typings are still weak. We will replace them with auto-generated types in the future.
This project uses ESLint for linting. That is configured in .eslintrc.js
.
We use Prettier for auto-formatting in this project. It's recommended to install an editor plugin (like the VSCode Prettier plugin) to get auto-formatting on save. There's also a npm run format
script you can run to format all files in the project.
This is just the start, we will continuously improve this stack.
- use of a code generator for typings
- example to build a dynamic website based on a NovaDB sitemap tree