{"id":22337536,"url":"https://github.com/mkdika/rblog","last_synced_at":"2025-07-29T22:32:58.864Z","repository":{"id":36642328,"uuid":"217839251","full_name":"mkdika/rblog","owner":"mkdika","description":"Simple Ruby on Rails 5 blog application","archived":false,"fork":false,"pushed_at":"2024-04-04T22:20:59.000Z","size":327,"stargazers_count":5,"open_issues_count":54,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-04-04T23:27:26.471Z","etag":null,"topics":["blog","bulma-css-framework","bulma-template","learning-by-doing","poc","ruby","ruby-on-rails-5","sample-app","slim"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mkdika.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2019-10-27T10:35:38.000Z","updated_at":"2024-04-14T19:36:29.828Z","dependencies_parsed_at":"2023-02-11T21:01:03.355Z","dependency_job_id":"403869e9-9f97-404f-9518-1815ec20ef22","html_url":"https://github.com/mkdika/rblog","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkdika%2Frblog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkdika%2Frblog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkdika%2Frblog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkdika%2Frblog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mkdika","download_url":"https://codeload.github.com/mkdika/rblog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228054452,"owners_count":17862129,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blog","bulma-css-framework","bulma-template","learning-by-doing","poc","ruby","ruby-on-rails-5","sample-app","slim"],"created_at":"2024-12-04T06:10:26.869Z","updated_at":"2024-12-04T06:10:27.581Z","avatar_url":"https://github.com/mkdika.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rBlog\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](/LICENSE)\n[![rails badge](https://img.shields.io/badge/rails-5.2.3-brightgreen)](https://weblog.rubyonrails.org/2019/3/28/Rails-5-2-3-has-been-released/)\n[![codebeat badge](https://codebeat.co/badges/f8f21f7f-6d58-42bf-a229-2e222f5b0e53)](https://codebeat.co/projects/github-com-mkdika-rblog-master)\n[![codecov](https://codecov.io/gh/mkdika/rblog/branch/master/graph/badge.svg)](https://codecov.io/gh/mkdika/rblog)\n[![Build Status](https://travis-ci.com/mkdika/rblog.svg?branch=master)](https://travis-ci.com/mkdika/rblog)\n[![Known Vulnerabilities](https://snyk.io/test/github/mkdika/rblog/badge.svg?targetFile=package.json)](https://snyk.io/test/github/mkdika/rblog?targetFile=package.json)\n\nYet another simple Ruby on Rails 5 (RoR) blog application.\nThis is my RoR full stack web development learning project \u0026 example, including its automatic CI/CD setup and cloud platform deployment.\n\n## Screenshots\n\n### Front page\n![Imgur](https://i.imgur.com/Wp8uefN.png)\n\n### Admin page\n![Imgur](https://i.imgur.com/uB99cya.png)\n\n## This project use\n\n- [Ruby 2.6.5](https://www.ruby-lang.org/en/)\n- [Ruby on Rails 5.2.3](https://rubyonrails.org/), web framework.\n- [Slim Templating 4](http://slim-lang.com/), HTML templating engine.\n- [Devise](https://github.com/plataformatec/devise), flexible authentication solution.\n- [Ruby Recaptcha](https://github.com/ambethia/recaptcha), recaptcha lib.\n- [Paper Trail](https://github.com/paper-trail-gem/paper_trail), Track changes to your rails models.\n- [Will Paginate](https://github.com/mislav/will_paginate), auto pagination from ActiveRecord.\n- [RSpec Rails 3](https://relishapp.com/rspec/rspec-rails/v/3-9/docs), BDD and test suite.\n- [Faker](https://github.com/faker-ruby/faker), A library for generating fake data such as names, addresses, and phone numbers.\n- [Factory Bot Rails](https://github.com/thoughtbot/factory_bot_rails), a library for setting up Ruby objects as test data.\n- [Capybara](https://github.com/teamcapybara/capybara), acceptance test framework for web applications.\n- [Selenium](https://github.com/SeleniumHQ/selenium), a browser automation framework and ecosystem.\n- [Bulma CSS](https://bulma.io/), mobile first CSS framework.\n- [Postgresql 10](https://www.postgresql.org/)\n- [Peru](https://github.com/buildinspace/peru), a package manager for including other people's code in your projects.\n- [Vagrant](https://www.vagrantup.com), for development provisioning. Use [Ubuntu 18.04](http://releases.ubuntu.com/18.04/) based.\n- [Ansible](https://www.ansible.com/), for automate and simply Vagrant provision.\n- [Travis CI](https://travis-ci.org/), for CI \u0026 CD pipelines.\n- [Heroku](https://www.heroku.com/), for cloud deployment platform, host this apps for free :smile:\n\n## Blog Features\n\n- Multi user login.\n- Post blog, with category, tags, and comments.\n- Data audit trail \u0026 transaction history.\n- Multiple resolution responsive view.\n- [Markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) as blog's content markup language.\n- __Todo:__\n  - [ ] Blog post archive page.\n  - [ ] Setup email account for sending password recovery \u0026 instructions.\n  - [ ] Dashboard to view blog post, number of comments, etc.\n\n## Online Demo\n\n- __Heroku__\n\n  This is from automatic build (CI/CD). Plese visit [https://simple-rblog.herokuapp.com](https://simple-rblog.herokuapp.com)\n\n  Demo account:\n  - email: `admin@example.com`\n  - password: `admin`\n\n## Running locally\n\n### Environment \u0026 requirement provision\n\nWe need to have Ruby 2.6.5 or for ease the provisioning we can use Vagrant from this repository [vagrant-ruby-dev](https://github.com/mkdika/vagrant-ruby-dev).\n\n### Environment variable\n\nThere are several env variable should be config prior running apps:\n\n- `DATABASE_USERNAME`, database username.\n- `DATABASE_PASSWORD`, database password.\n- `DATABASE_HOST`, database host.\n- `DATABASE_PORT`, database port.\n- `DATABASE_URL`, database connection string url.\n- `RECAPTCHA_SITE_KEY`, recaptcha site key, get it from [here](https://www.google.com/recaptcha/intro/v3.html).\n- `RECAPTCHA_SECRET_KEY`, recaptcha secret key.\n\n### Run Rails application\n\nInstall Rails \u0026 dependencies\n\n```bash\nbundle install\n```\n\nInit \u0026 setup database\n\n```bash\nrails db:setup\n```\n\nSeed sample data\n\n```bash\nrails db:seed\n```\n\nRun rails app locally\n\n```bash\nrails s\n```\n\nOr if you using and run inside Vagrant.\n\n```bash\nrails s -b 0.0.0.0\n```\n\nAccess from [http://localhost:3000](http://localhost:3000)\n\n### Run all automatic testing\n\n```bash\nrspec\n```\n\n## Copyright and License\n\nCopyright 2019 Maikel Chandika (mkdika@gmail.com). Code released under the MIT License. See [LICENSE](/LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkdika%2Frblog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmkdika%2Frblog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkdika%2Frblog/lists"}