Skip to content

Latest commit

 

History

History
104 lines (72 loc) · 5.31 KB

README.md

File metadata and controls

104 lines (72 loc) · 5.31 KB

bASCIIart (o˘◡˘o)

Create your own ASCII art by uploading an image and watch it come to life in ASCII!

Simply upload an image and it'll be converted into ASCII. ᕕ( ᐕ )ᕗ

Give bASCIIart a whirl today! (or tomorrow if that's better for you)

Features

bASCIIart Associations

Create ASCII art posts

Upload an image and see it be converted into ASCII and join the bASCIIart collection.

Like posts and leave comments on them

bASCIIart holds the ability for users to make comments and like posts.

Copy to clipboard

Users or visitors to the site can copy posts to their clipboards to funkify their docs or emails :)

Here's an example:

+----------------------------------------------------------------------+
|                                                                      |
|                         ..~:+++++o+++++::~..                         |
|                    .~:+oooooooooo+oooooooooo++:.                     |
|                 .:+oooo++:~..... .  ....~:++ooooo+~.                 |
|               ~+ooo++~..                    ..:+oooo+.               |
|            .:oooo+~.       . .  .   .   .       .:+ooo+~             |
|           ~oooo:.   .    .      . . . .   ..  .    .+ooo+.           |
|         .+ooo:.                                  .   .+ooo:          |
|        .oooo. .....~.~~~~:::::+++++++++++~    .       .:ooo+.        |
|       .ooo+..++ooooooooooooooooooooooooooo+.     .      .ooo+.       |
|      .ooo+  ooooooooooooooo+~+ooooooooooooo+  .. . . .   .ooo+       |
|     .ooo+. .+oooooooooooo+.  ~oooooooooooooo+          .  ~ooo+      |
|     :ooo~    ~++++++::::.   .oooooooooooooooo: .     .   . +ooo.     |
|     ooo+                   .ooooo++++ooooooooo:   .    .   .ooo+     |
|    .ooo~ .  .         .   .oooooo.  .:ooooooooo~    .      .+oo+     |
|    ~ooo.        .   .  . .ooooooo~ .  .+oooooooo. .   .     +ooo.    |
|    ~ooo.        .       .oooooooo+     .:oooooooo. .    .   +ooo.    |
|    .ooo~ .          .  .oooooo++:.. .    .+ooooooo.      .  +oo+     |
|     +oo+     .        .+o+oo+.     . .    .:ooooooo.       .ooo+     |
|     :o+o~         .. .+oooo.                .+ooooo+.   .  +ooo.     |
|      +o+o.          .+ooo+.  .  .   .  .     .:ooooo+.    .ooo:      |
|      .ooo+  .       .+o+~                .  .  .+oooo+ . .ooo+       |
|       .ooo+.    . .   ..  .                   .  :ooo+  .ooo+.       |
|        .+oo+~                  .      .           ... .:ooo+         |
|          :ooo+.              .         .    .        .+ooo~          |
|           .+ooo+.     .            .              .~+ooo+.           |
|             .+ooo+:.     .                     ..:+ooo+.             |
|               .:+ooo+:..                   ..~++ooo+:.               |
|                 ..:+oooo++:~..... .....~~+++oooo+:.                  |
|                     .~:++oooooo+ooooooooooo++:..                     |
|                          ...~:++++++:::~...                          |
|                                                                      |
+----------------------------------------------------------------------+

Technical breakdown

Ruby version

2.7.2

Dependencies

The ASCII conversion is being taken care of by the brilliant asciiart gem. For this gem to function, the project requires the inclusion of rmagick.

Cloudinary is also being utilised to store the images that are used to generate the images. In a future iteration, the plan is to remove the storage function (or incorporate a removal step) and replace the current method by temporarily storing image files to perform the conversion, then be discarded to minimise/remove the storage footprint on Cloudinary. For me this is particularly interesting due the the marked difference in file size between the image and the ASCII art output.

Database creation and associations

bASCIIart currently uses 4 databases:

  1. Users
  2. Posts (Beets)
  3. Comments
  4. Likes

They relate in the following ways:

Deployment

To run the project locally:

  1. Download the repo and include the Cloudinary and asciiart gems.
  2. Run the seed data via rails db:seed to initial seed data that doesn't rely on Cloudinary.
  3. Update your bash profile with your Cloudinary API details.
  4. Test the image upload process by creating a beet :)

Shout outs

Shout out to Joel, Stacey and Guillaume for teaching and helping in such an amazing way - this really would not exist without these three - mucho gracias!

Lastly - thanks so much for the crew who built the asciiart gem! It truly was a gem to work with and made the project so fun to build :)