This project was created to demonstrate various concepts required for a real-world Wails app using Go as the backend and TypeScript and React as the frontend.
Things you will find in this repository:
- Local storage on the client's computer, including writing and reading from a settings file during runtime.
- Frontend state management using the native useContext. Reducers and zod-based schemas are also included.
- Storybook stories that make use of the abovementioned state management.
- An adapter that fetches config information from the Go backend by defualt, but also allows you to mockup that backend so that you may develop in "frontend only mode" using
npm run dev
.
- a template meant for generic Wails projects. It provides solutions for specific problems, so it may be a good starting point for some projects while proving to be overcomplicated for others.
- a polished MVP. This is not a minimum viable product and I have no intention of expanding it into one.
- a good looking app. Apologies, but the UI design of this app is intentionally strictly functional.
You must have Go and Node.js preinstalled in order to serve and build this project. If you are using VSCode as your editor of choice the Prettier extension is also highly recommended.
You may run the project in one of the following ways:
- Generate a build using
wails build
and then starting the app via the build folder binary. - Run Wails in development mode using
wails dev
- Serve the frontend only by running
npm run dev
inside the frontend folder.