A modern web application for creating and previewing Discord embeds with a rich UI and real-time preview.
- 🎨 Real-time Discord embed preview
- 📝 Rich markdown editor with syntax highlighting
- 🎯 Intuitive UI components based on Radix UI
- 🌈 Advanced color picker for customization
- 😄 Emoji picker integration
- 📅 Date and time selection tools
- 🔒 Authentication system
- ⚡ Built with performance in mind using Astro
- Framework: Astro with React integration
- UI Components: Radix UI
- Styling: TailwindCSS
- Discord Components: @skyra/discord-components-react
- Authentication: Built-in auth system with SQLite storage
- Form Handling: React Hook Form with Zod validation
- State Management: Nanostores
- Database: SQLite with Drizzle ORM
- Node.js 18 or higher
- npm or yarn
- Clone the repository:
git clone https://github.com/yourusername/embedra.git
cd embedra
- Install dependencies:
npm install
- Copy the example environment file and configure your environment variables:
cp .env.example .env
- Start the development server:
npm run dev
The application will be available at http://localhost:4321
npm run dev
- Start development servernpm run build
- Build for productionnpm run preview
- Preview production buildnpm run astro
- Run Astro CLI commands
The project structure follows Astro's conventions:
src/
├── assets/ # Static assets
├── components/ # React components
│ └── ui/ # Reusable UI components
├── layouts/ # Astro layouts
├── lib/ # Utility functions and helpers
├── pages/ # Astro pages
│ └── api/ # API routes
├── store/ # Nanostores state management
└── styles/ # Global styles
MIT
Contributions are welcome! Please feel free to submit a Pull Request.