The first registered user becomes the admin role.
Backend on go, frontend on vue ssr, db - mongo.
- Go 1.9.1 or higher
- Node 9 or higher
- Mongo 4.0.2
- Nginx
Server runned at 9010
Local build:
docker volume create --name=go-vue-blog-mongo-data
cd docker/prod
docker-compose -f docker-compose.base.yml -f docker-compose.build.yml build
docker-compose -f docker-compose.base.yml -f docker-compose.build.yml up
For use builded on and pushed to docker hub:
docker volume create --name=go-vue-blog-mongo-data
cd docker/prod
docker pull grinat0/go-vue-blog-api
docker pull grinat0/go-vue-blog-node
docker-compose -f docker-compose.base.yml -f docker-compose.hub.yml up
Install packages (we dont use in dev go and node on docker, because on windows cant working fs.notify):
go 1.9.1+
node js 9+
docker
docker-compose
Install dependencies:
go get
go get github.com/pilu/fresh
cd frontend && npm i
Run:
# run go hot reload at 9050
fresh
# run mongo at 9051 and static server at 9052
docker volume create --name=go-vue-blog-mongo-data
cd docker/dev && docker-compose up
# run vue hot reload at 8080
cd frontend && npm run serve
With docker
cd docker/prod
docker volume create --name=go-vue-blog-mongo-data
docker-compose -f docker-compose.base.yml -f docker-compose.build.yml -f docker-compose.testing.yml build
docker-compose -f docker-compose.base.yml -f docker-compose.build.yml -f docker-compose.testing.yml up --abort-on-container-exit --exit-code-from go-vue-blog.node.testing
On local
# install puppeteer
npm install -g puppeteer
cd frontend && npm link puppeteer
# By default used prod server at 9010 (see available env in frontend/tests/config.js)
# run go prod server
docker volume create --name=go-vue-blog-mongo-data
cd docker/prod
docker-compose -f docker-compose.base.yml -f docker-compose.build.yml up
# run tests
cd frontend && npm run test
- Register/Login
- Create article
- List of articles
- Visual editor
- Static pages support(exlude static from articles list)
- User profile
- Sort/pagination
- Upload images
- Edit profile
- Refactor backend
- Comment article
- List of comments in user profile
- Send email on register
- Restore password
- Special page on main page
- Improve backed validation