- The blog imated to "Medium", besides of basic registration and login, it will recommend user the posts at top 3 likes in home page .
- Backstage with editor and management interface to control the posts state (draft or published).
- Users can follow each other, also can comment, press likes and bookmark to the posts.
- Ruby: 2.6.5
- Rails: 5.2.4.5
- OS: Windows-Subsystem-Linux(Ubuntu 18.04 LTS)
- DB: PostgreSQL
Make sure the tools in need has been already installed and version better not older than app used. If you have to install Ruby or Rails but encounter some problems, instructions are elaborated in the end.
bundle install
#install Rails gem files for app need.npm install yarn
#ignore it if you’ve already installed yarn before.yarn install -checkfiles
#install the libraries for front-end needsyarn update
#ensure that the libraries version is latest.foreman start
#activate both rails server & webpack same time(=rails server
+bin/webpack-dev-server
), if some error occur, next step will be solution.
It is very common for encounter some error message after foreman start
if you start the app first time, try to run following instructions to create DB & initialization:
rails db:create
#Database creationbin/rails db:migrate RAILS_ENV=development
#Database initialization, error message may show ActiveRecosrd::PendingMigrationError Migrations are pending. To resolve this issue, run: bin/rails db:migrate RAILS_ENV=development
- If you have not installed Ruby, Ruby Version Management (RVM) is recommendation for you, here’s an instruction for reference (https://rvm.io/).
Ensure that Ruby has installed already, then go ahead with this step.
gem install rails
#install the latest Rails versionrails -v
#check Rails installation versionsudo apt-get install nodejs
#Problems may be occurred when installing Rails, because there are some JS code in Rails be executed through node.js. Corresponding solution for this is installing node.js before Rails.
- I'm a starter of Rails, this is the first time I try to write README.md file. If some descriptoins are ambiguios or not work for your problem, please feel free to give me some suggestion to make it better, thanks!