Project 4:

About the app...

Artsy is an application aimed at art lovers. The target audience is local community.

The three key aims of the app are to:

  1. Provide a market place for home made art, bringing buyers and sellers together
  2. Provide a forum for users to arrange and host meet-ups
  3. Allow users to connect with eachother, to teach or be taught new artistic skills.

Future Enhancements...

With a little additional time, here are some of the future improvements I would like to make to Artsy:

  1. Add Stripe payment facility to enable online payments.
  2. Provide a meetup.com API to allow for more meet-up options
  3. Enable mail messaging to event owners, when updates are made to their event
  4. Implement image optimisation to ensure better site aesthetics on user image uploads.

Technologies used:

AngularJS
Ruby on Rails
PostgreSQL
Bootstrap
AWS S3
Etsy API

Home Page

Wins

Finding the correct category in Etsy to drill down into was tough!

There was little documentation on the Etsy data fields classification, so Insominia was used to interrogate the API and find a consistent data field which referred to 'art supplies'.

Once this was obtained, the searches made a lot more sense and returned searches that were relevant and met the criteria of being an art supply!

Behind the Scenes...

This is a full stack application which utilises RESTful routing and authentication. Ruby on Rails provides the server-side functionality and Angular serves the client-side.

Database relationships

PostgreSQL DB is used. Perhaps the most complex relationships are seen on the Artist / Buyer Show page which has several DB relationships in play. It brings together all of the SQL data relating to a user (user, product and event data) as well as data from join tables relating to genres.

Secure Routes

Authentication enables secure routing. These allow users to only edit or delete objects they have created. For example, while the events page is owned by a user, they cannot edit another users comments and an event attendee has limited edit rights by being able to select attend for that event. Users must log in to use the site.

Oauth

As well as standard registration, Oauth is made available for Github users.

Nice Touches...

Authentication re-route

A new user is redirected to a profile page to update it with key information. This makes the site more useful and informative to all users and ensures the new user doesn't forget to make the updates.

Filter / Search

filterFilter allows the user to reduce the items on display in any of the index pages and find what they are looking for, faster

Etsy API

The Etsy API matches the genre of an event to matching products under the category of Etsy's art supplies, which the user may be interested in. It populates results with 12 items for purchase or just for inspiration.

Parallax

The parallax class adds interest to the index page with scrolling text and static pictures, holding the users interest when they first enter the site.

User Index Page

User Profile Page

Artsy App

Vist App

Github

Front-end

Github

Back-end

README

Read-me