Browse Source

Refactor README for publishing

Kailash Nadh 6 years ago
parent
commit
c952b7a2e8
3 changed files with 45 additions and 84 deletions
  1. 1 0
      .gitignore
  2. 0 82
      README.dev.md
  3. 44 2
      README.md

+ 1 - 0
.gitignore

@@ -4,3 +4,4 @@ frontend/yarn.lock
 .vscode/
 
 config.toml
+node_modules

+ 0 - 82
README.dev.md

@@ -1,82 +0,0 @@
-# Dev
-
-There are two independent components, the Go backend and the React frontend. In the dev environment, both have to run.
-
-### First time setup
-
-1. Write `config.toml`
-2. Run `listmonk --install` to do the DB setup.
-
-# Dev environment
-
-### 1. Run the backend
-
-`make deps` (once, to install dependencies) and then `make run`
-
-### 2. Run the frontend
-
-`cd frontend` and `yarn start`
-
-### 3. Setup an Nginx proxy endpoint
-
-```
-# listmonk
-server {
-    listen 9001;
-
-    # Proxy all /api/* requests to the Go backend.
-    location /api {
-        proxy_pass http://localhost:9000;
-    }
-
-    # Proxy everything else to the yarn server
-    # that's running the React frontend.
-    location / {
-        proxy_pass http://localhost:3000;
-    }
-}
-
-```
-
-Visit `http://localhost:9001` to access the frontend running in development mode where Javascript updates are pushed live.
-
-# Production
-
-1. To build the Javascript frontend, run `make build-frontend`. This only needs to be run if the frontend has changed.
-
-2. `make build` builds a single production ready binary with all static assets embeded in it. Make sure to have installed the dependencies with `make deps` once.
-
----
-
-# TODO: Essentials for v0.10
-
-- update list time after import
-- dockerize
-- add an http call to do version checks and alerts
-- make the design responsive
-- error pause should be % and not absolute
-- views for faster dashboard analytics
-- bounce processing
-- docs
-- tests
-
-### Features
-
-- running campaigns widget on the dashboard
-- analytics
-- GDPR
-
-# Features
-
-Features
-
-- userdb
-- campaign error logs
-- upgrade + migration
-- views for fast analytics widgets
-
-- tab navigation in links and buttons
-- inject semver into build version
-- permalink for lists
-- props.config race condition
-- app.Messenger is flawed. Add multi-messenger support to app as well.

+ 44 - 2
README.md

@@ -1,3 +1,45 @@
-# listmonk
+![listmonk](https://user-images.githubusercontent.com/547147/60170989-41681f00-9827-11e9-93a8-a871a40be913.png)
 
-See [developer README](README.dev.md).
+> listmonk is **alpha** software and may change and break. Use with caution. That said, it has been in active use at [zerodha.com](https://zerodha.com) for several months where it has processed hundreds of campaigns and tens of millions of e-mails.
+
+listmonk is a standalone newsletter and mailing list manager written in Go. It is fast, performant, and comes as a single binary. It uses a PostgreSQL database as its data store.
+
+### Installation and use
+
+- Download the [latest release](https://github.com/knadh/listmonk/releases) and extract the listmonk binary somewhere.
+- Copy `config.toml.sample` to `config.toml` and add your configuration (SMTP and Postgres DB credentials primarily).
+- `./listmonk --install` to setup the DB.
+- Visit `http://localhost:9000`.
+- Since there is no user auth yet, it's best to put listmonk behind a proxy like Nginx and setup basicauth on all endpoints except for the few endpoints that need to be public. Here is a [sample nginx config](https://github.com/knadh/listmonk/wiki/Production-Nginx-config) for production use.
+
+### Current features
+
+- Admin dashboard
+- Multiple public and private lists
+- Fast bulk subscriber import
+- Custom subscriber attributes
+- Subscriber querying and segmentation with ad-hoc SQL
+- Rich Go templates and WYSIWYG editor
+- Media gallery
+- Multi-threaded multi-SMTP e-mail queues for fast campaign delivery
+- HTTP/JSON APIs for everything
+- Clicks and view tracking
+- and more ...
+
+### Todo
+
+- DB migrations
+- Bounce tracking
+- User auth, management, permissions
+- Privacy features for subscribers (Download and wipe all tracking data)
+- Ability to write raw campaign logs to a target
+- Analytics views and reports
+- Make Ant design UI components responsive
+- Better widgets on dashboard
+- Tests!
+
+## Developers
+
+listmonk is free, open source software licensed under AGPLv3. There are a few of essential features such as user auth/management and bounce tracking that are currently missing. Contributions are welcome.
+
+The backend is written in Go and the frontend is in React with Ant Design for UI. See [developer setup](https://github.com/knadh/listmonk/wiki/Developer-setup) to get started.