Skip to content

Latest commit

 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Yukthi EMail-Archive-UI

A modern, high-performance web application for managing and interacting with an email archiving system. Built with React 19, TypeScript, and Vite, it offers a robust set of features for searching, viewing, and auditing archived emails, as well as managing users, domains, and security settings.

Discord

💬 Join our community on Discord: discord.gg/29zTxvque — ask questions, report bugs, share ideas, and get involved.

🔗 Related Projects

Project Description
EMailArchive-UI Frontend UI dashboard
RMQ-Archive-Parser RabbitMQ email archive parser
Archive-Admin-API Backend administration API
IMAP-Sync IMAP sync utility
Archive-Email-Downloader Email downloader worker
Archive-Main-Worker-RMQ Main worker processing queue
Archive-Dedupe-Handler-RMQ Queue deduplication handler
RMQ-Archive-Export Archive exporter worker

🚀 Features

  • Advanced Archive Search: Powerful filtering (Sender, Recipient, Subject, Content, Date Range) with high-performance results.
  • Email Previewer: Specialized .eml parser with support for inline images and attachments.
  • Security First: Integrated 2-Factor Authentication (TOTP) and Role-Based Access Control (RBAC).
  • Domain & User Management: Scalable administrative tools for managing multiple domains and users.
  • Audit Logs: Comprehensive logging for all security and administrative actions.
  • Modern UI/UX: Built with Radix UI primitives and Tailwind CSS for a premium, accessible experience.
  • State & Data Management:
    • TanStack Query for efficient asynchronous data fetching and caching.
    • Jotai for atomic, flexible global state management.

🛠️ Tech Stack

  • Core: React 19, ReactDOM 19
  • Build Tool: Vite
  • Language: TypeScript
  • Styling: Tailwind CSS 4.0+, Radix UI
  • State Management: TanStack Query, Jotai
  • Forms & Validation: React Hook Form, Yup, Hookform Resolvers

📦 Getting Started

Prerequisites

  • Node.js (v20 or higher recommended)
  • npm (or yarn/pnpm/bun)

Installation

  1. Clone the repository:

    git clone https://github.com/Yukthi-Systems/EMailArchive-UI
    cd EMailArchive-UI
  2. Install dependencies:

    npm install
  3. Environment Configuration: Copy the example environment file and configure your settings:

    cp .env.example .env

    The VITE_* variables configure a browser application and are therefore public in the built JavaScript. VITE_API_KEY is supported only for compatibility as a public client identifier; it must not grant access by itself. Do not put passwords, private API keys, or other credentials in .env variables with this prefix. The API and export services must authenticate the signed-in user and enforce authorization server-side.

💻 Development

To start the development server with Hot Module Replacement (HMR):

npm run dev

The application will be available at http://localhost:5173 (or the port shown in your terminal).

🏗️ Building for Production

To create a production-ready build:

npm run build

This command runs the TypeScript compiler (tsc) to check for errors and then uses Vite to build the optimized assets.

🧹 Code Quality

This project uses ESLint and Prettier to maintain code quality and consistent formatting.

  • Linting: Check for code issues.

    npm run lint
  • Formatting: Auto-format code using Prettier.

    npm run format

🤝 Contributing

Contributions are welcome! Please read CONTRIBUTING.md before submitting a pull request — it covers the fork-and-PR workflow, branch naming, commit style, and what CI checks must pass.

Found a bug or have a feature request? Open an issue.

🔒 Security

If you discover a security vulnerability, do not open a public issue. Please follow the responsible disclosure process in SECURITY.md.

📜 Code of Conduct

This project follows the Contributor Covenant Code of Conduct. By participating, you agree to uphold this standard.

📄 License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 3 as published by the Free Software Foundation. See the LICENSE file for more details.

About

Archive ui

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages