|
1 | | -# README |
| 1 | +# 📑 Blogger Web App - Ruby on Rails |
2 | 2 |
|
3 | | -This README would normally document whatever steps are necessary to get the |
4 | | -application up and running. |
| 3 | +This is another, quick project devised to practice the basics of creating Rails web apps. This time, it's a blog. However, unlike my previous [Rails blog app](https://github.com/Rhelli/Simple-Rails-Blog), this blog is a little more complex. It possesses all the features you might expect from a web blog (or any other rails based web app), at an entry level perspective. |
5 | 4 |
|
6 | | -Things you may want to cover: |
| 5 | +## 🖱️ The Project Brief |
7 | 6 |
|
8 | | -* Ruby version |
| 7 | +The specifications and the guide to the project can be found on the ['Getting Started with Rails'](https://guides.rubyonrails.org/getting_started.html) page from [guides.rubyonrails.org](https://guides.rubyonrails.org/). |
9 | 8 |
|
10 | | -* System dependencies |
| 9 | +The scope of this project covers: |
| 10 | + - Articles |
| 11 | + - Create, edit and delete |
| 12 | + - Index, show, edit and new pages |
| 13 | + - Ability to upload various image formats with articles (jpeg, png, gif) |
| 14 | + - Authors (users) |
| 15 | + - Create, edit and delete |
| 16 | + - Index, show and edit pages |
| 17 | + - Tags |
| 18 | + - Create, edit and delete |
| 19 | + - Associate/Tag articles on their creation |
| 20 | + - An index page of all Tags to browse articles by Tag name |
| 21 | + - Comments |
| 22 | + - Create edit or delete comments on their respective article's page |
| 23 | + - Timestamp for 'how long ago' comments were posted |
| 24 | + - Authentication |
| 25 | + - Protection of creation, editing and deleting user accounts, articles, tags and comments unless signed in |
| 26 | + - User account and article creation is open only to those signed in |
| 27 | + - Basic email and HTTP password authentication |
11 | 28 |
|
12 | | -* Configuration |
| 29 | +****** |
13 | 30 |
|
14 | | -* Database creation |
| 31 | +## Showcase |
15 | 32 |
|
16 | | -* Database initialization |
| 33 | +<a href="app/assets/articles-screen.gif"><img src="app/assets/articles-screen.gif" alt="Articles Screen" width="800" height="464"></a> |
17 | 34 |
|
18 | | -* How to run the test suite |
| 35 | +> Browsing articles from the 'index' page and navigating to the articles 'show' page. |
19 | 36 |
|
20 | | -* Services (job queues, cache servers, search engines, etc.) |
| 37 | +<a href="app/assets/authors-screen.gif"><img src="app/assets/authors-screen.gif" alt="Authors Screen" width="800" height="464"></a> |
21 | 38 |
|
22 | | -* Deployment instructions |
| 39 | +> Logging in provides the user with additional options, such as editing and deleting articles, as well as creating them. |
23 | 40 |
|
24 | | -* ... |
| 41 | +<a href="app/assets/create-article-screen.gif"><img src="app/assets/create-article-screen.gif" alt="Create Article Screen" width="800" height="464"></a> |
| 42 | + |
| 43 | +> Once logged in, users can create articles, add images to the articles and add comments. |
| 44 | +
|
| 45 | +<a href="app/assets/tags-screen.gif"><img src="app/assets/tags-screen.gif" alt="Tags Screen" width="800" height="464"></a> |
| 46 | + |
| 47 | +> Users can browse through articles via Tags and can delete tags when they are logged in. |
| 48 | +
|
| 49 | +****** |
| 50 | + |
| 51 | +## 💪🏽 Technologies, Languages & Gems Used |
| 52 | + |
| 53 | +- Ruby 2.6.5 |
| 54 | +- Ruby on Rails 5.2.4.1 |
| 55 | +- CSS3 |
| 56 | +- SCSS |
| 57 | + |
| 58 | +- Sorcery - Used for generation of security & authentication models, controllers and views |
| 59 | +- Paperclip - Facilitated image upload to articles from local env |
| 60 | +- Imagemagick - Formatting of images for upload to blog |
| 61 | + |
| 62 | +## 🔑 Setup & Usage |
| 63 | +If you want to poke around or modify this web app, you'll have to first follow a couple of steps to ensure everything runs right. |
| 64 | +### System Requirements |
| 65 | +First off, you'll need the following: |
| 66 | + - Ruby |
| 67 | + - Ruby on Rails |
| 68 | +If you're not sure what either of those is or need pointing in the right direction [this right here](https://www.ruby-lang.org/en/documentation/installation/), is the best place to head. |
| 69 | + |
| 70 | +### Usage |
| 71 | +1. After you have this repository downloaded and you've made sure Ruby and Ruby on Rails are updated and on your machine `cd` into this repository, wherever it is you downloaded it to. [Not sure what 'cd' means?](https://www.git-tower.com/learn/git/ebook/en/command-line/appendix/command-line-101) |
| 72 | +2. Once you've `cd` into this repo, type in the command `bundle install`. This will download all the required Ruby Gems for the web app so it can function properly. [Not sure what Ruby Gems Are?](https://guides.rubygems.org/) |
| 73 | +3. Once the `bundle` install command above has finished downloading, ensure you are in this repository's root directory and enter the command `rails server` into your terminal. This will start the Ruby on Rails server, allowing you to now access it from your browser of choice. |
| 74 | +4. Type in `http://localhost:3000/` into your browser address bar and hit enter. You should now see the Rails Blog App! |
| 75 | +5. To access the different pages available, enter the following: |
| 76 | + - localhost:3000/articles |
| 77 | + - localhost:3000/authors |
| 78 | + - localhost:3000/tags |
| 79 | +6. Please be aware that some of these pages do not have full functionality unless you are logged in. To test this, please use the following `email: admin@example.com password: admin`. |
| 80 | + |
| 81 | +## 🤲🏽 Contributions, Issues and Forking |
| 82 | + |
| 83 | +If you have any issues setting up the project or you come across any unintended bugs or problems, please do submit an issue to the [Rails Blogger Issue Page](https://github.com/Rhelli/Rails-Blogger/issues) |
| 84 | + |
| 85 | +If you want to make your own changes, modifications or improvements, go ahead and Fork it! |
| 86 | +1. Fork it (https://github.com/Rhelli/Rails-Blogger/fork) |
| 87 | +2. Create your working branch (git checkout -b [choose-a-name]) |
| 88 | +3. Commit your changes (git commit -am 'what this commit will fix/add/improve') |
| 89 | +4. Push to the branch (git push origin [chosen-name]) |
| 90 | +5. Create a new Pull Request |
| 91 | + |
| 92 | +## 👨🏽💻 Creator |
| 93 | + |
| 94 | +Rory Hellier - [GitHub](https://github.com/Rhelli) |
| 95 | + |
| 96 | +## 📣 Show Your Support |
| 97 | + |
| 98 | +Give a ⭐️ if you like this project! |
0 commit comments