diff --git a/README.md b/README.md index 11d9f4d..d1e6620 100644 --- a/README.md +++ b/README.md @@ -1 +1,119 @@ -# Aurora \ No newline at end of file +# Aurora + +> A comprehensive, feature-rich Discord RPG bot built with modern technologies. + +![Version](https://img.shields.io/badge/version-1.0.0-blue.svg) +![Bun](https://img.shields.io/badge/Bun-1.0+-black) +![Discord.js](https://img.shields.io/badge/Discord.js-14.x-5865F2) +![Drizzle ORM](https://img.shields.io/badge/Drizzle_ORM-0.30+-C5F74F) +![PostgreSQL](https://img.shields.io/badge/PostgreSQL-16-336791) + +Aurora is a powerful Discord bot designed to facilitate RPG-like elements within a Discord server. It features a robust economy, class system, inventory management, quests, and more, all built on top of a high-performance stack using Bun and Drizzle ORM. + +## ✨ Features + +* **Class System**: Users can join different classes. +* **Economy**: Complete economy system with balance, transactions, and daily rewards. +* **Inventory & Items**: sophisticated item system with rarities, types (Material, Consumable, etc.), and inventory management. +* **Leveling**: XP-based leveling system to track user activity and progress. +* **Quests**: Quest system with requirements and rewards. +* **Trading**: Secure trading system between users. +* **Lootdrops**: Random loot drops in channels to engage users. +* **Admin Tools**: Administrative commands for server management. + +## 🛠️ Tech Stack + +* **Runtime**: [Bun](https://bun.sh/) +* **Framework**: [Discord.js](https://discord.js.org/) +* **Database**: [PostgreSQL](https://www.postgresql.org/) +* **ORM**: [Drizzle ORM](https://orm.drizzle.team/) +* **Validation**: [Zod](https://zod.dev/) +* **Containerization**: [Docker](https://www.docker.com/) + +## 🚀 Getting Started + +### Prerequisites + +* [Bun](https://bun.sh/) (latest version) +* [Docker](https://www.docker.com/) & Docker Compose + +### Installation + +1. **Clone the repository** + ```bash + git clone + cd aurora + ``` + +2. **Install dependencies** + ```bash + bun install + ``` + +3. **Environment Setup** + Copy the example environment file and configure it: + ```bash + cp .env.example .env + ``` + Edit `.env` with your Discord bot token, Client ID, and database credentials. + + > **Note**: The `DATABASE_URL` in `.env.example` is pre-configured for Docker. + +4. **Start the Database** + Run the database service using Docker Compose: + ```bash + docker compose up -d db + ``` + +5. **Run Migrations** + ```bash + bun run migrate + ``` + OR + ```bash + bun run db:push + ``` + +### Running the Bot + +**Development Mode** (with hot reload): +```bash +bun run dev +``` + +**Production Mode**: +Build and run with Docker (recommended): +```bash +docker compose up -d app +``` + +## 📜 Scripts + +* `bun run dev`: Start the bot in watch mode. +* `bun run generate`: Generate Drizzle migrations. +* `bun run migrate`: Apply migrations (via Docker). +* `bun run db:push`: Push, schema to DB (via Docker). +* `bun run db:studio`: Open Drizzle Studio to inspect the database. +* `bun test`: Run tests. + +## 📂 Project Structure + +``` +├── src +│ ├── commands # Slash commands +│ ├── events # Discord event handlers +│ ├── modules # Feature modules (Economy, Inventory, etc.) +│ ├── db # Database schema and connection +│ └── lib # Shared utilities +├── drizzle # Drizzle migration files +├── config # Configuration files +└── scripts # Utility scripts +``` + +## 🤝 Contributing + +Contributions are welcome! Please feel free to submit a Pull Request. + +## 📄 License + +This project is licensed under the MIT License. \ No newline at end of file