Full-stack SPA template using SolidJS, TypeScript, and Tailwind v4. Backed by Rust with Axum and PostgreSQL.
Find a file
Rob Wagner ab5544a86f
Some checks failed
ci / check-rust (push) Has been cancelled
ci / check-typescript (push) Has been cancelled
Update dependencies
2025-05-05 15:02:12 -04:00
.github/workflows Rename github action 2024-10-30 23:18:51 -04:00
client Update dependencies 2025-05-05 15:02:12 -04:00
server fix clippy lints 2025-04-29 23:42:18 -04:00
.env.TEMPLATE Initial commit 2023-03-08 01:37:23 -05:00
.gitignore Drop turbo, pnpm, vitest; migrate to bun 2024-02-08 18:58:26 -05:00
LICENSE Add MIT-0 (closes #41) 2025-03-19 21:00:17 -04:00
README.md Update README.md 2024-10-30 23:23:46 -04:00
update.sh Drop turbo, pnpm, vitest; migrate to bun 2024-02-08 18:58:26 -05:00

Template: Axum / SolidJS SPA

Backend

Frontend

Getting Started

  • Clone the repository: git clone https://github.com/robertwayne/template-axum-solidjs-spa

  • Change .env.TEMPLATE to .env and set your Postgres credentials (if not using defaults).

  • Install your dependencies with bun i.

  • Build the client with bun run build from inside the /client directory. Alternatively, you can use bun dev to run the client with the vite dev server.

  • Run the server with cargo run from inside the /server directory.

    • If you're serving from axum, visit http://127.0.0.1:3000.
    • If you're serving from vite, visit http://127.0.0.1:8000.

Client Notes

  • Async, naive prefetching for route links.
  • Light/Dark mode themes built-in.
  • Responsive navigation menu built-in.

Server Notes

  • Sets default Cache-Control headers via a middleware function.
  • Uses tower-http CORS and Compression (brotli) middleware.
  • Uses mimalloc instead of the default allocator.

Remember, this is a template. Make sure you review the code and adjust it to your projects needs.

Additional Scripts

Command Action
./update.sh Updates the dependencies of both the client and server projects.