OnePlace is a web-application built upon Steem and Golos blockchains. As a basis we took Vue.js with SSR module for frontend and LoopBack for backend. Our project is fully open-source under MIT license.
Technology stack: Node.js, Vue.js, Loopback, Redis, MySQL
Website: https://oneplace.media
Latest release on Github: https://github.com/OnePlace-media/oneplace/releases/tag/v0.2.0
Description of current version: OnePlace.media: to New Year with new design and new features.
git clone git@github.com:OnePlace-media/oneplace.git
cd oneplace && npm i
This instruction is for debian based linux
Install NodeJS, we recommend using last LTS version and nvm for installation:
nvm install 8.9.4
nvm use 8.9.4
Also you need to install mysql and redis databases. Use Docker Compose with our docker-compose.yml or make manual install:
sudo apt-get update
sudo apt-get install mysql-server
This repository includes init sql script, you can use it for fast start.
# Insert int sql script to ypu mysql daemon
mysql -u root < ./server/data/mysql/mysql-init.sql
# Login Mysql
mysql -u root
# Create new mysql user
CREATE USER 'oneplace'@'localhost' IDENTIFIED BY 'password';
# config privileges
GRANT ALL PRIVILEGES ON oneplace.* TO 'oneplace'@'localhost'
Also you can use MySql WorkBench with our model file to extend sql schema.
sudo apt-get install redis
Edit /etc/redis/redis.conf after instal redis-server for work as daemon on localhost:
daemonise yes
bind 127.0.0.1
port 6379
After you clone the repository and install dependencies you need to create configuration files.
cd server
# Main config file
cp config.sample.json config.json
# config for databases
cp datasources.sample.json datasources.json
{
...,
"postingWrapper": {
"steemDomain": "steem node with HTTP JSON-RPC",
"golosDomain": "golos node with HTTP JSON-RPC",
"WIF": "APPLICATION POSTING_KEY",
"username": "APPLICATION USERNAME"
}
}
We prepared npm commands for fast build and start services. First you must build client with you config.
# Build front-end part of repo
npm run build
For start instances we also recommend using PM2. See process.json.
pm2 start process.json
# start monitoring panel
pm2 monit
But you can also try manual start.
# Start LoopBack-API server
npm start
# Start VueSSR server
npm run client
Please see package.json for more details.
In our nearest release we will enable users to set voting weight on upvotes, calculate and display estimated payout before voting. Adding profile/personal blog page will be our next priority.
We currently don't have any contribution requests. However, if you would like to contribute please contact @ubik in steemit.chat or just leave a comment to this post.
d75cbf8355c45f8d8ac6b9c6cf68c1f4cf045d99
All commits in this release