Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/coffee-cup/elysia-on-railway
Elysia starter deployed on Railway
https://github.com/coffee-cup/elysia-on-railway
Last synced: about 2 months ago
JSON representation
Elysia starter deployed on Railway
- Host: GitHub
- URL: https://github.com/coffee-cup/elysia-on-railway
- Owner: coffee-cup
- License: mit
- Created: 2024-03-26T18:48:51.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-03-27T00:47:12.000Z (10 months ago)
- Last Synced: 2024-04-09T11:26:04.185Z (9 months ago)
- Language: TypeScript
- Size: 122 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
[![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/template/p4u3rC?referralCode=coffeecup)
## 🔋 Batteries Included
- 🥟 [Bun](https://bun.sh/)
- 👮 [TypeScript](https://www.typescriptlang.org/)
- 🦊 [ElysiaJS](https://elysiajs.com/)
- 🧰 [Prisma](https://prisma.io/)
- 🐘 [Postrges](https://www.postgresql.org/)
- 🚄 One-click [Railway](https://railway.app/) deploys## 🚀 Getting Started
To get started with this template, ensure that [Bun](https://bun.sh/) is installed.
```bash
curl -fsSL https://bun.sh/install | bash
```### Development
1. Install dependencies
```bash
bun install
```1. Start the development server
```bash
bun run dev
```Open http://localhost:3000/ with your browser to see the result.
## 🏛️ Architecture and Design
#### TypeIDs
This starter uses [TypeIDs](https://github.com/jetpack-io/typeid-js) which are type-safe, K-sortable, unique identifiers inspired by Stripe IDs. An example ID for a user would be `user_123456`.
### API Resources
Each API resource (eg. `users`) are defined in `src/resources`. Each resource has a `router.ts` and `service.ts`. All the endpoints for the resource are defined in `router.ts` and all of the business logic ends up in `service.ts`.
## 🗺️ Roadmap
- [ ] JWT authentication
- [ ] Sane HTTP server defaults (CORS, etc.)
- [ ] Better interop between Prisma and typebox
- [ ] Example tests
- [ ] Docker support
- [ ] Monorepo with Next.js