{"id":30622086,"url":"https://github.com/tugusartaa/email-service-web","last_synced_at":"2026-04-09T23:05:40.594Z","repository":{"id":300707454,"uuid":"1006868400","full_name":"TugusArtaa/Email-Service-Web","owner":"TugusArtaa","description":"PKL Project - Aplikasi layanan email internal berbasis web yang dikembangkan dengan RabbitMQ dan Elastic Stack untuk pengiriman email yang tersentralisasi.","archived":false,"fork":false,"pushed_at":"2025-07-27T03:39:18.000Z","size":4608,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-30T15:04:28.876Z","etag":null,"topics":["elasticsearch","elasticstack","email-service","laravel","queue-management","rabbitmq","tailwindcss","vuejs"],"latest_commit_sha":null,"homepage":"","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TugusArtaa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-23T05:50:23.000Z","updated_at":"2025-07-27T03:39:21.000Z","dependencies_parsed_at":"2025-06-23T07:26:04.350Z","dependency_job_id":"00a5f7b5-3fc7-48b6-a9de-64f18e38482f","html_url":"https://github.com/TugusArtaa/Email-Service-Web","commit_stats":null,"previous_names":["tugusartaa/email-service-web"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TugusArtaa/Email-Service-Web","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TugusArtaa%2FEmail-Service-Web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TugusArtaa%2FEmail-Service-Web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TugusArtaa%2FEmail-Service-Web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TugusArtaa%2FEmail-Service-Web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TugusArtaa","download_url":"https://codeload.github.com/TugusArtaa/Email-Service-Web/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TugusArtaa%2FEmail-Service-Web/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272864641,"owners_count":25006040,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-30T02:00:09.474Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["elasticsearch","elasticstack","email-service","laravel","queue-management","rabbitmq","tailwindcss","vuejs"],"created_at":"2025-08-30T15:02:13.536Z","updated_at":"2026-04-09T23:05:40.565Z","avatar_url":"https://github.com/TugusArtaa.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 📧 Email Service Web\n\nSistem manajemen pengiriman email berbasis web dengan antrian prioritas menggunakan RabbitMQ, Laravel, dan Vue.js.\n\n\u003e Dibuat saat PKL sebagai inovasi pengiriman email.\n\n## 🚀 Fitur Utama\n\n-   **Pengiriman Email Massal**: Kirim email satuan/manual atau massal via upload file Excel.\n-   **Antrian Prioritas**: Email diproses berdasarkan prioritas (high, medium, low) menggunakan RabbitMQ.\n-   **Log \u0026 Monitoring**: Pantau status pengiriman email (success, failed, pending) secara real-time.\n-   **Integrasi Multi-Aplikasi**: Setiap aplikasi memiliki secret key unik untuk keamanan dan tracking.\n-   **Retry \u0026 Error Handling**: Kirim ulang email yang gagal dengan mudah, lengkap dengan notifikasi error.\n-   **Dashboard Analitik**: Statistik visual pengiriman email, tingkat keberhasilan, dan kegagalan.\n\n## 🛠️ Teknologi\n\n-   **Backend**: Laravel 10+, PHP 8+, RabbitMQ, MySQL/MariaDB\n-   **Frontend**: Vue 3, Inertia.js, TailwindCSS\n-   **Queue**: RabbitMQ (dengan dukungan prioritas)\n-   **Excel Import**: Maatwebsite/Laravel-Excel\n\n## ⚙️ Arsitektur\n\n```\n[User] → [Vue.js SPA] → [Laravel API] → [RabbitMQ Queue] → [Email Engine Worker] → [SMTP/SES/Resend]\n```\n\n-   **SPA**: UI modern, responsif, dan real-time.\n-   **API**: Endpoint RESTful untuk pengiriman, log, dan manajemen aplikasi.\n-   **Queue**: RabbitMQ untuk antrian email dengan prioritas.\n-   **Worker**: Konsumen queue yang mengirim email dan update status log.\n\n## 📝 Cara Pakai\n\n-   **Login** sebagai user/supervisor.\n-   **Tambah aplikasi** untuk mendapatkan secret key.\n-   **Kirim email** manual atau upload file Excel.\n-   **Pantau status** di dashboard \u0026 log.\n-   **Kirim ulang** email yang gagal langsung dari log.\n\n## 📊 Dashboard\n\n-   Statistik email terkirim/gagal/total.\n-   Grafik performa pengiriman.\n-   Ringkasan persentase keberhasilan.\n\n## 🔒 Keamanan\n\n-   Setiap aplikasi memiliki secret key unik.\n-   Validasi input \u0026 file attachment.\n-   Hanya aplikasi aktif yang dapat mengirim email.\n\n## 🖼️ Screenshot Hasil Website\n\n### 🔑 Login\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"public/screenshot/Logout-1.png\" alt=\"Login 1\" width=\"220\" /\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"public/screenshot/Logout-2.png\" alt=\"Login 2\" width=\"220\" /\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n### 🎛️ Admin\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"public/screenshot/Admin-1.png\" alt=\"Admin 1\" width=\"220\" /\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"public/screenshot/Admin-2.png\" alt=\"Admin 2\" width=\"220\" /\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"public/screenshot/Admin-3.png\" alt=\"Admin 3\" width=\"220\" /\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"public/screenshot/Admin-4.png\" alt=\"Admin 4\" width=\"220\" /\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"public/screenshot/Admin-5.png\" alt=\"Admin 5\" width=\"220\" /\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"public/screenshot/Admin-6.png\" alt=\"Admin 6\" width=\"220\" /\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"public/screenshot/Admin-7.png\" alt=\"Admin 7\" width=\"220\" /\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n### 🧑‍💼 Supervisor\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"public/screenshot/Supervisor-1.png\" alt=\"Supervisor 1\" width=\"220\" /\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"public/screenshot/Supervisor-2.png\" alt=\"Supervisor 2\" width=\"220\" /\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"public/screenshot/Supervisor-3.png\" alt=\"Supervisor 3\" width=\"220\" /\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n### 👤 Profil\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cimg src=\"public/screenshot/Profil-1.png\" alt=\"Profil 1\" width=\"220\" /\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003cimg src=\"public/screenshot/Profil-2.png\" alt=\"Profil 2\" width=\"220\" /\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftugusartaa%2Femail-service-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftugusartaa%2Femail-service-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftugusartaa%2Femail-service-web/lists"}