The application is live and accessible at https://tlt.invition.dev.
TLT Stops is a modern web application designed to provide real-time transit information. The project is built with a focus on performance, scalability, developer experince, and user experience. It leverages cutting-edge technologies such as Rust, WebAssembly (WASM), and Svelte for the frontend, and is designed to run on Cloudflare Workers for a serverless, globally distributed backend.
The repository is organized as follows:
.
├── frontend/ # Svelte-based frontend
│ ├── src/ # Svelte components and TypeScript files
│ ├── public/ # Static assets
│ ├── package.json # Frontend dependencies
│ ├── vite.config.ts # Vite configuration for the frontend
│ ├── tsconfig.json # TypeScript configuration
│ └── README.md # Frontend-specific documentation
├── src/ # Rust backend source files
├── Cargo.toml # Rust project configuration
├── package.json # Root dependencies
├── wrangler.toml # Cloudflare Workers configuration
└── README.md # Project documentation
- Language: Rust
- Platform: Cloudflare Workers
- Build Tool: Wrangler CLI
- WebAssembly: Used for high-performance server-side logic
- Framework: Svelte
- Build Tool: Vite
- Language: TypeScript
- Bun.js: Used exclusively for managing dependencies and running scripts
- Install Bun.js
- Install Wrangler CLI
- Install Rust
- Install the
wasm32-unknown-unknowntarget for Rust:rustup target add wasm32-unknown-unknown
- Clone the repository:
git clone https://github.com/iNViTiON/tlt-stops.git cd tlt-stops - Install dependencies:
bun install
To run the backend locally:
bunx wrangler devTo run the frontend locally:
cd frontend
bun run dev- Keep the
README.mdfile updated with any changes to the project structure or setup. - Use inline comments in code to explain complex logic.
- Follow Rust's idiomatic practices for the backend.
- Use TypeScript for type safety in the frontend.
- Run linters and formatters before committing code.
- Optimize WebAssembly modules for faster execution.
- Use Vite's production build for deploying the frontend.
- Use the following build command in
wrangler.tomlfor the fastest startup during development, after running the default one at least one time or manually runcargo install worker-build:[build] command = "worker-build --dev"
- Deploy the backend using Wrangler:
bunx wrangler deploy
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Submit a pull request with a detailed description of your changes.
This project is licensed under the MIT License. See the LICENSE file for details.
For more information, refer to the Cloudflare Workers documentation.