Skip to content

Commit 3683f8f

Browse files
committed
Merging completed v0.1.0 version of rails blogger into master. Check commit history for additional info
2 parents bdf8b58 + 30eb0ef commit 3683f8f

File tree

83 files changed

+2298
-16
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+2298
-16
lines changed

Gemfile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,12 @@ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
33

44
ruby '2.6.5'
55

6+
# Paperclip as per TOP specifications
7+
gem 'paperclip'
8+
9+
# Sorcery for simple authentication
10+
gem 'sorcery'
11+
612
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
713
gem 'rails', '~> 5.2.3'
814
# Use sqlite3 as the database for Active Record

Gemfile.lock

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ GEM
4747
archive-zip (0.12.0)
4848
io-like (~> 0.3.0)
4949
arel (9.0.0)
50+
bcrypt (3.1.13)
5051
bindex (0.8.1)
5152
bootsnap (1.4.5)
5253
msgpack (~> 1.0)
@@ -64,6 +65,7 @@ GEM
6465
chromedriver-helper (2.1.1)
6566
archive-zip (~> 0.10)
6667
nokogiri (~> 1.8)
68+
climate_control (0.2.0)
6769
coffee-rails (4.2.2)
6870
coffee-script (>= 2.2.0)
6971
railties (>= 4.0.0)
@@ -75,6 +77,8 @@ GEM
7577
crass (1.0.6)
7678
erubi (1.9.0)
7779
execjs (2.7.0)
80+
faraday (1.0.0)
81+
multipart-post (>= 1.2, < 3)
7882
ffi (1.12.2)
7983
globalid (0.4.2)
8084
activesupport (>= 4.2.0)
@@ -83,6 +87,7 @@ GEM
8387
io-like (0.3.0)
8488
jbuilder (2.9.1)
8589
activesupport (>= 4.2.0)
90+
jwt (2.2.1)
8691
listen (3.1.5)
8792
rb-fsevent (~> 0.9, >= 0.9.4)
8893
rb-inotify (~> 0.9, >= 0.9.7)
@@ -95,14 +100,33 @@ GEM
95100
marcel (0.3.3)
96101
mimemagic (~> 0.3.2)
97102
method_source (0.9.2)
103+
mime-types (3.3.1)
104+
mime-types-data (~> 3.2015)
105+
mime-types-data (3.2019.1009)
98106
mimemagic (0.3.4)
99107
mini_mime (1.0.2)
100108
mini_portile2 (2.4.0)
101109
minitest (5.14.0)
102110
msgpack (1.3.3)
111+
multi_json (1.14.1)
112+
multi_xml (0.6.0)
113+
multipart-post (2.1.1)
103114
nio4r (2.5.2)
104115
nokogiri (1.10.7)
105116
mini_portile2 (~> 2.4.0)
117+
oauth (0.5.4)
118+
oauth2 (1.4.3)
119+
faraday (>= 0.8, < 2.0)
120+
jwt (>= 1.0, < 3.0)
121+
multi_json (~> 1.3)
122+
multi_xml (~> 0.5)
123+
rack (>= 1.2, < 3)
124+
paperclip (6.1.0)
125+
activemodel (>= 4.2.0)
126+
activesupport (>= 4.2.0)
127+
mime-types
128+
mimemagic (~> 0.3.0)
129+
terrapin (~> 0.6.0)
106130
public_suffix (4.0.3)
107131
puma (3.12.2)
108132
rack (2.1.2)
@@ -153,6 +177,10 @@ GEM
153177
selenium-webdriver (3.142.7)
154178
childprocess (>= 0.5, < 4.0)
155179
rubyzip (>= 1.2.2)
180+
sorcery (0.14.0)
181+
bcrypt (~> 3.1)
182+
oauth (~> 0.4, >= 0.4.4)
183+
oauth2 (~> 1.0, >= 0.8.0)
156184
spring (2.1.0)
157185
spring-watcher-listen (2.0.1)
158186
listen (>= 2.7, < 4.0)
@@ -165,6 +193,8 @@ GEM
165193
activesupport (>= 4.0)
166194
sprockets (>= 3.0.0)
167195
sqlite3 (1.4.2)
196+
terrapin (0.6.0)
197+
climate_control (>= 0.0.3, < 1.0)
168198
thor (1.0.1)
169199
thread_safe (0.3.6)
170200
tilt (2.0.10)
@@ -197,10 +227,12 @@ DEPENDENCIES
197227
coffee-rails (~> 4.2)
198228
jbuilder (~> 2.5)
199229
listen (>= 3.0.5, < 3.2)
230+
paperclip
200231
puma (~> 3.11)
201232
rails (~> 5.2.3)
202233
sass-rails (~> 5.0)
203234
selenium-webdriver
235+
sorcery
204236
spring
205237
spring-watcher-listen (~> 2.0.0)
206238
sqlite3

README.md

Lines changed: 87 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,98 @@
1-
# README
1+
# 📑 Blogger Web App - Ruby on Rails
22

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.
54

6-
Things you may want to cover:
5+
## 🖱️ The Project Brief
76

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/).
98

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
1128

12-
* Configuration
29+
******
1330

14-
* Database creation
31+
## Showcase
1532

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>
1734

18-
* How to run the test suite
35+
> Browsing articles from the 'index' page and navigating to the articles 'show' page.
1936
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>
2138

22-
* Deployment instructions
39+
> Logging in provides the user with additional options, such as editing and deleting articles, as well as creating them.
2340
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!
4.52 MB
Loading
5.04 MB
Loading
8.45 MB
Loading

app/assets/images/tags-screen.gif

12.6 MB
Loading
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Place all the behaviors and hooks related to the matching controller here.
2+
# All this logic will automatically be available in application.js.
3+
# You can use CoffeeScript in this file: http://coffeescript.org/
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Place all the behaviors and hooks related to the matching controller here.
2+
# All this logic will automatically be available in application.js.
3+
# You can use CoffeeScript in this file: http://coffeescript.org/
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Place all the behaviors and hooks related to the matching controller here.
2+
# All this logic will automatically be available in application.js.
3+
# You can use CoffeeScript in this file: http://coffeescript.org/

0 commit comments

Comments
 (0)