This is an opinionated template for a React project with many features already set up.
There are 2 links, each link corresponding to React Full/Light Template. (The Light version is WIP)
The Light version remove the dependencies with typebox, mantine, react-hot-toast, lucide-react and react-icons.
- File base routing (client) (using Easy-React-Router)
- Lazy loading (client) (using Easy-React-Router)
- Auto memoization (client)
- Structured code (server and client)
- Tests (server and client)
- Code coverage (server and client)
- Documentation (client) (WIP: add of Storybook on client, and see for Server)
- Ready for Native (client)
- Dependency graph (server and client)
- Linting (server and client)
- API type safety (server and client)
npm install -g bun
npm install -g servegit clone https://github.com/nicolasventer/Preact-Project-Template
cd Preact-Project-Template
all_init_on_cloned.batThe script will create a symbolic link between the Shared folder of the Client and Server folders and then install the dependencies.
If you want to install the dependencies manually, you should at least create the symbolic link:
mk_link.batIf you only require the server, you can run the following:
copy_shared.batgit clone https://github.com/nicolasventer/React-Project-Template.git
cd React-Project-Template
./all_init_on_cloned.shThe script will create a symbolic link between the Shared folder of the Client and Server folders and then install the dependencies.
If you want to install the dependencies manually, you should at least create the symbolic link:
mk_link.shIf you only require the server, you can run the following:
copy_shared.shIn the Client folder:
bun run devWARNING: Be sure to be exactly in the Client folder, otherwise you will have page not found error.
Access the client at http://localhost:5173
In the Client folder, run:
bun run build
bun run previewAccess the client at http://localhost:4173
In the Client folder, run:
bun run buildProd
bun run previewProdAccess the client at http://localhost:4173/${clientEnv.BASE_URL}/
In the Client folder, run:
bun run buildDeployIt updates the docs folder (for example for GitHub pages).
In the Server folder, run:
bun run devIn the Server folder, run:
bun run startCheck that the server is running at http://localhost:3000/
TODO: see for building the server.
TODO: see for deploying the server.




