Add dev README
This commit is contained in:
parent
d9585a7365
commit
9729395648
4
Makefile
4
Makefile
|
@ -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
|
||||
|
|
|
@ -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.
|
45
README.md
45
README.md
|
@ -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).
|
||||
|
|
Loading…
Reference in New Issue