{"repo":"rasadov/Fertit","free":true,"listed":false,"github":"https://github.com/rasadov/Fertit","clone":"git clone https://github.com/rasadov/Fertit.git","description":"A Go-based web application for sending newsletters and allowing subscribers to manage their preferences. Designed for ease of deployment (Docker-ready), with a modern web UI and admin dashboard.","language":"Go","stars":23,"topics":["docker","gin","golang","smtp","go","gorm","mail","rest-api","email","email-marketing"],"license":"MIT","category":"auth-billing-email","readme_excerpt":"Mail List Management App Try it out: https://www.fertit.com A Go-based web application for sending newsletters and allowing subscribers to manage their preferences. Designed for ease of deployment (Docker-ready), with a modern web UI and admin dashboard. Features - Admin dashboard : Login, manage subscribers, and send newsletters. - Subscriber portal : Signup, manage email preferences, and unsubscribe. - Rate limiting : Prevents abuse of subscription endpoints. - JWT authentication : Secure admin session management. - SMTP integration : Send emails using your SMTP provider. - PostgreSQL : Stores subscriber and newsletter data. - Redis : Used for rate limiting and caching. - Responsive UI : HTML templates for dashboard, login, preferences, and success messages. Technology Stack - Backend : Go (Gin web framework) - Database : PostgreSQL - Cache/Queue : Redis - Frontend : HTML templates (Go's html/template) - Containerization : Docker, Docker Compose Project Structure Getting Started 1. Clone the repository 2. Configure Environment Variables Copy the example file and fill in your SMTP, DB, and other secrets: 3. Run with Docker Compose This will start the Go app, PostgreSQL, and Redis: - App will be available at http://localhost:8080 - PostgreSQL at port 5433 (default user/pass from .env) - Redis at port 6379 4. Manual Run (without Docker) - Install Go 1.23+ - Set up PostgreSQL and Redis (see .env.example for config) - Build and run: Usage Admin - Visit /admin/login to access the","default_branch":null,"files":null,"tree":[],"storefront":"/r/rasadov","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/rasadov/Fertit/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}