- Add HTML structure for the dashboard application. - Create database schema for bug reports and associated files. - Implement database connection using Drizzle ORM with MySQL. - Add utility functions for class names, byte formatting, and date formatting. - Create error handling page for the application. - Implement layout and main page structure with navigation and report listing. - Add server-side logic for loading reports with pagination and filtering. - Create report detail page with metadata, description, and file attachments. - Implement API endpoints for downloading reports and files, refreshing report counts, and managing report statuses. - Set up SvelteKit configuration and TypeScript support. - Configure Vite for SvelteKit and Tailwind CSS integration. - Update Docker Compose configuration for the dashboard service. - Create systemd service for managing the dashboard server.
EMLy
EMLy is a lightweight, cross-platform EML (Email Message) viewer built with Wails, Go, and Svelte. It allows users to open and view .eml files, including support for viewing attachments like images and PDFs.
Requirements
Before developing or building EMLy, ensure you have the following installed:
- Go: Version 1.24 or later (Project uses 1.24.4) - Download
- Wails CLI: Version v2 - Installation Guide
- Node.js: Required for the frontend build tools.
- Bun: The project uses
bunas the frontend package manager. - Install Bun- Install via:
powershell -c "irm bun.sh/install.ps1 | iex"(Windows) orcurl -fsSL https://bun.sh/install | bash(macOS/Linux).
- Install via:
Installation
-
Clone the repository:
git clone https://github.com/yourusername/EMLy.git cd EMLy -
Install frontend dependencies:
cd frontend bun install cd ..Note: The Wails build process is configured to handle
bun installautomatically if you runwails build, but running it manually ensures your IDE is happy.
Live Development
To run the application in development mode with hot-reload:
wails dev
- This starts the Go backend and a Vite development server for the frontend.
- The application window will open automatically.
- You can also access the frontend in a browser at
http://localhost:34115to debug with standard browser devtools (though backend calls will still route to the running Go process).
Building
To build a redistributable, production-ready binary:
wails build
The output binary will be located in the build/bin directory.
Cross-Compilation & Installers
The project contains configuration for building installers:
- Windows: NSIS script located in
build/windows/installer/project.nsi. - MacOS: Bundle configuration in
build/darwin/.
To build with specific platform targets (if your environment supports it):
wails build -platform windows/amd64
Testing
Frontend Tests
Run the Svelte check to ensure type safety and valid Svelte code:
cd frontend
bun run check
Backend Tests
To run Go unit tests (if any are added to backend/) or standard Go tests:
go test ./...