A Simple URL Shortener for exploring Rust and other technologies.
Project structure based on spa5k/monorepo-typescript-rust
, and my extremely
limited knowledge of
Turborepo,
Cargo workspaces,
and
pnpm workspaces.
TODO: playwright nextjs & solid-start tests
TODO: prettier/eslint github actions
TODO?: shuttle deploy github action
TODO?: try to [on a non-very-basic level] port React Query to Yew
TODO: logger
package
server-actix
: an Actix Web web server, with Shuttle infrastructurecommon
: shared Rust codeyew-query
: a VERY basic port of Tanstack Query for Yewweb-solid-start
: a Solid-Start appweb-nextjs
: a Next.js appweb-yew
: a Yew appweb-svelte-kit
: a SvelteKit appapi
: API to interact with the serverui-core
: 'core' component library, contains styles and variants usingclass-variance-authority
ui-solid
: Solid component libraryui-react
: React component libraryui-svelte
: Svelte component libraryeslint-config-custom
: baseeslint
configurationeslint-config-custom-solid
: Solideslint
configuration (includeseslint-plugin-solid
)eslint-config-custom-next
: Next.Jseslint
configuration (includeseslint-config-next
)tailwind-config
: shared Tailwind CSS configurationtsconfig
:tsconfig.json
s used throughout the monorepo
App | Port (dev) | Deployment |
---|---|---|
server-actix | 8000 | https://url-shortener-server-actix.shuttleapp.rs/ |
web-solid-start | 3000 | https://url-shortener-solid-start.vercel.app/ |
web-nextjs | 3001 | https://url-shortener-nextjs-eight.vercel.app/ |
web-yew | 3002 | https://url-shortener-server-actix.shuttleapp.rs/yew/ |
web-svelte-kit | 5173 | https://url-shortener-svelte-kit.vercel.app/ |
TODO: change to table?
- Actix Server
- Shorten URL
- Lengthen URL
- Register
- Login
- Solid-Start
- Home (shorten URL)
- Redirect
- [~] Stats
- [~] URL Error Page
- Login
- Register
- NextJs
- Home
- Redirect
- [~] Stats
- [~] URL Error Page
- Login
- Register
- Yew
- Home
- Redirect
- [~] Stats
- [~] URL Error Page
- Login
- Register
- SvelteKit
- Home
- Redirect
- [~] Stats
- [~] URL Error Page
- Login
- Register
- Tauri
- Home
- Redirect
- Stats
- [~] Auth
- View all my short URLs
- Stats
- Deletion of short URLs
- View all my short URLs
- Tauri
/
- Home/:id
- Redirect/:id/stats
- Stats-
- more in future hopefully
/login
/register
This is an official starter Turborepo.
Learn more about the power of Turborepo: