This project is a demonstration of a simple Ruby on Rails Travel blog. The project goal was to learn more about the Rails 6 framework and build knowledge related to user session handling and restriction of content based on authoritative use and authentication.
Demo Site Hosted at: https://mckim-blog-rubyrails.herokuapp.com/
| Landing Page | Responsive View |
|---|---|
|
|
- User and content management as an administrative user
- User registration allows visitors to register and write articles
- User Profiles include information about the relationship age with the user, as well as their total contribution count of articles.
- Authentication restricts content, allowing only the author (and admin) of the article to make changes or delete their own article.
- The user can choose one or more categories to link their article to.
- A list page of articles is presented using pagination to limit the number of items per page.
- A list page of user member authors of article content.
- A list page of categories is accessible to all; however, an admin user is the only one who may create or destroy categories.
- Each article has a restful route location address unique to itself.
- Each category has a page of its own that contains a list of the articles that are related to it.
- Each user profile page contains a list of all of their articles, and makes use of a gravatar image for a profile picture when available.
- Random images delivered for articles and categories via Lorem Picsum: https://picsum.photos/
- Responsive layout.
| Login | Author list page | Author profile page |
|---|---|---|
|
|
|
| Article List Page | Category List page |
|---|---|
|
|
| Individual Category Page | -cont- |
|---|---|
|
|
- ruby '2.7.4'
- gem 'rails', 6.1.4, >= 6.1.4.1
- gem 'sass-rails', >= 6
- gem 'bcrypt', ' 3.1.7'
- gem 'will_paginate', 3.1.0'
- gem 'sqlite3', 1.4' (for dev and testing)
- Comment Section on articles
- Profile page / Image upload
- Article Page - Image upload
- Article thumbs up button
- Article share button
- Other features...
"@rails/actioncable": "^6.0.0",
"@rails/activestorage": "^6.0.0",
"@rails/ujs": "^6.0.0",
"@rails/webpacker": "5.4.2",
"bootstrap": "4.6.0",
"jquery": "^3.6.0",
"popper.js": "^1.16.1",
"turbolinks": "^5.2.0",
"webpack": "4.46.0",
"webpack-cli": "3.3.12"










