A simple Express.js API with TypeScript and SQLite Cloud.
- User registration and login
- SQLite Cloud database integration
- TypeScript for type safety
- Simple input sanitization
- Database migrations
- Express.js - Web framework
- TypeScript - Type-safe JavaScript
- SQLite Cloud - Cloud database
- dotenv - Environment variables
- CORS - Cross-origin resource sharing
- Install dependencies:
yarn install- Create a
.envfile:
DATABASE_URL=sqlitecloud://your-database-url
PORT=3000
DB_MAX_RETRY_ATTEMPTS=3
DB_RETRY_DELAY=2000- Run database migrations:
yarn migrate- Start the server:
yarn startAPI documentation is available in Postman.
yarn start- Start the serveryarn dev- Start in development modeyarn migrate- Run database migrations
src/
├── configs/
│ └── database.ts # Database connection setup
├── controllers/
│ └── auth.controller.ts # Authentication logic
├── middlewares/
│ └── database.middleware.ts # Input sanitization & query wrapper
├── migrations/
│ └── 001_create_users.sql # Database schema
├── routes/
│ ├── auth.routes.ts # Authentication routes
│ └── index.ts # Route aggregation
├── utils/
│ └── migration_runner.ts # Database migration runner
└── server.ts # Main application entry point
| Variable | Description | Default |
|---|---|---|
DATABASE_URL |
SQLite Cloud connection string | Required |
PORT |
Server port | 3000 |
DB_MAX_RETRY_ATTEMPTS |
Database connection retries | 3 |
DB_RETRY_DELAY |
Retry delay in milliseconds | 2000 |
The application uses a simple architecture:
- Routes handle HTTP requests
- Controllers contain business logic
- Middlewares provide input sanitization
- Database config manages connections
- Migrations handle schema changes
Run migrations before starting the server for the first time.