Add dev README

This commit is contained in:
Kailash Nadh 2019-05-14 17:42:18 +05:30
parent d9585a7365
commit 9729395648
3 changed files with 87 additions and 46 deletions

View File

@ -6,8 +6,8 @@ COMMIT_DATE := $(shell git show -s --format=%ci ${HASH})
BUILD_DATE := $(shell date '+%Y-%m-%d %H:%M:%S')
VERSION := ${HASH} (${COMMIT_DATE})
.PHONY: build_frontend
build_frontend:
.PHONY: build-frontend
build-frontend:
cd frontend/my && yarn install && yarn build
.PHONY: quickdev

84
README.dev.md Normal file
View File

@ -0,0 +1,84 @@
# 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.
3. Run `make deps` to install React / frontend dependencies
# Dev environment
### 1. Run the backend
`make run`
### 2. Run the frontend
`cd frontend/my` 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.
---
# TODO: Essentials for v0.10
- update list time after import
- subscriber status "Enabled" -> "Active"
- 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.

View File

@ -1,46 +1,3 @@
# listmonk
Full fledged, high performance newsletter and mailing list manager
# Development
Install dependencies
```bash
make deps
```
Build frontend assets
```bash
make build_frontend
```
Create config file and edit the necessary params
```bash
cp config.toml.sample config.toml
```
Use [stuffbin](https://github.com/knadh/stuffbin) to package static assets and build binary
```bash
make build
```
Binary comes up with installer to setup schema and superadmin
```bash
./listmonk --install
```
Run binary
```bash
./listmonk
```
For new developers, you can also run all at once using `quickdev` option.
```bash
make quickdev
```
See [developer README](README.dev.md).