Backend API built with Bun, Express, MongoDB, JWT authentication and rate limiting.
- Express.js REST API with TypeScript
- MongoDB database with Mongoose ODM
- JWT Authentication with token management
- Rate Limiting to prevent abuse
- XMPP Server for real-time messaging
- Discord Bot integration (optional)
- Cloud Storage API routes
- Friends System management
- Auto Restart scheduling
| Technology | Purpose |
|---|---|
| Bun | JavaScript runtime |
| Express.js | Web framework |
| MongoDB | Database |
| Mongoose | ODM |
| JWT | Authentication |
| XMPP | Real-time messaging |
| Winston | Logging |
src/
├── api/
│ └── routes/ # API route handlers
├── core/ # Core configuration
├── middleware/ # Express middlewares
├── models/ # MongoDB models
│ ├── user.model.ts
│ ├── profiles.model.ts
│ ├── friends.model.ts
│ └── ...
├── services/ # Business logic services
├── utils/ # Utility functions
├── xmpp/ # XMPP server
└── index.ts # Entry point
# Clone repository
git clone https://github.com/IsSlashy/Volta-Backend.git
cd Volta-Backend
# Install dependencies
bun install
# Configure environment
cp .env.example .env
# Edit .env with your configuration
# Start server
bun run src/index.tsEdit src/core/config.ts:
{
"port": 3000,
"mongodb": {
"database": "mongodb://localhost:27017/volta"
},
"Website": {
"bUseWebsite": true,
"websiteport": 8080
},
"discord": {
"bUseDiscordBot": false
},
"bEnableAutoBackendRestart": false
}/cloudstorage/*- Cloud storage management/friends/*- Friends system- Authentication endpoints
- Profile management
MIT License