All Projects → smushy129 → ROBOgram

smushy129 / ROBOgram

Licence: other
Instagram clone built with React/Redux, Ruby on Rails, PostgreSQL, AWS S3

Programming Languages

javascript
184084 projects - #8 most used programming language
ruby
36898 projects - #4 most used programming language
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to ROBOgram

Rails api base
API boilerplate project for Ruby On Rails 6
Stars: ✭ 172 (+364.86%)
Mutual labels:  ruby-on-rails
Inject Some Sql
Have fun injecting SQL into a Ruby on Rails application!
Stars: ✭ 211 (+470.27%)
Mutual labels:  ruby-on-rails
handbook
📙 ErgoServ Developer's Handbook - a collection of guides, recipes, and scripts for helping you get things done, better.
Stars: ✭ 46 (+24.32%)
Mutual labels:  ruby-on-rails
Recurly Client Ruby
A Ruby API wrapper for Recurly
Stars: ✭ 184 (+397.3%)
Mutual labels:  ruby-on-rails
Acts as indexed
Acts As Indexed is a plugin which provides a pain-free way to add fulltext search to your Ruby on Rails app
Stars: ✭ 211 (+470.27%)
Mutual labels:  ruby-on-rails
Filestack Rails
Official Ruby on Rails plugin for Filestack File Picker that makes it easy to add powerful file uploading and transformation capabilities to any web or mobile application.
Stars: ✭ 220 (+494.59%)
Mutual labels:  ruby-on-rails
Api guard
JWT authentication solution for Rails APIs
Stars: ✭ 159 (+329.73%)
Mutual labels:  ruby-on-rails
rails 6 github template
Easy way to get a new Rails 6 project up and running.
Stars: ✭ 12 (-67.57%)
Mutual labels:  ruby-on-rails
Still life
Rails upgrade's best friend
Stars: ✭ 213 (+475.68%)
Mutual labels:  ruby-on-rails
Stream Rails
Rails Client - Build Activity Feeds & Streams with GetStream.io
Stars: ✭ 250 (+575.68%)
Mutual labels:  ruby-on-rails
Enhanced Rails Architecture
A set of good architectural patterns beyond the pure Ruby on Rails architecture.
Stars: ✭ 185 (+400%)
Mutual labels:  ruby-on-rails
Rails Devise Graphql
A Rails 6 boilerplate to create your next Saas product. Preloaded with graphQL, devise, JWT, CanCanCan, RailsAdmin, Rubocop, Rspec, i18n and more.
Stars: ✭ 199 (+437.84%)
Mutual labels:  ruby-on-rails
Octopus
Database Sharding for ActiveRecord
Stars: ✭ 2,496 (+6645.95%)
Mutual labels:  ruby-on-rails
Rspec Rails Examples
RSpec cheatsheet & Rails app: Learn how to expertly test Rails apps from a model codebase
Stars: ✭ 2,089 (+5545.95%)
Mutual labels:  ruby-on-rails
projects
Türk geliştiricelerin açık kaynak Ruby projeleri
Stars: ✭ 13 (-64.86%)
Mutual labels:  ruby-on-rails
Terrastories
Terrastories is a geostorytelling application built to enable local communities to locate and map their own oral storytelling traditions about places of significant meaning or value to them. Check out our Wiki for open source development information.
Stars: ✭ 158 (+327.03%)
Mutual labels:  ruby-on-rails
Brevidy
A video social network built with Ruby on Rails, HAML, Bootstrap, and jQuery.
Stars: ✭ 220 (+494.59%)
Mutual labels:  ruby-on-rails
s3 asset deploy
Deploy & manage static assets on S3 with rolling deploys & rollbacks in mind.
Stars: ✭ 63 (+70.27%)
Mutual labels:  ruby-on-rails
nxt init
Define initializers and attribute readers for your arguments with a single line of code
Stars: ✭ 21 (-43.24%)
Mutual labels:  ruby-on-rails
Vueonrails
💎 Rails gem with the power of Vue.js components
Stars: ✭ 250 (+575.68%)
Mutual labels:  ruby-on-rails

ROBOgram

ROBOgram live

Robogram is a web application inspired by Instagram designed exclusively for robots. Users can see photos from robots that they follow and share their own photos to their own followers. It is a full-stack project built on Ruby on Rails, PostgreSQL, and React/Redux.

Features & Implementation

User Authentication

Users can sign up and log into ROBOgram. Passwords are secure and never saved into the database. User authentication is implemented using BCrypt to hash passwords into a session token to be passed on every request.

Image of login-page

Photo Feed

Photos uploaded by the user's followed robots are shown here. After logging in, an AJAX request is made to the backend server to send photos. Photos listed on the photo feed are interactive. A user can see comments and likes for a photo and can also like and comment right on the feed.

Image of photo-feed

User Profile

On this page, a user can view photos uploaded by any particular user. A clickable list of all the photos by that user is displayed. A clicked image will bring up a modal that displays a detailed view of that photo by generating an AJAX request for that photo, likes, and comments. Users can also interact with the image in this view by liking and commenting.

Image of user-profile

Photo Uploading

Users can upload photos through button on the NAVBAR that persist throughout the entire app. The button brings up a modal that allows users to drag and drop an image into the upload zone. Before the image is uploaded, users a preview of their upload is generated. Only when the upload button is clicked will the image actually be uploaded.

Image of upload-modal

Search

Users can conveniently find other users by typing into the search bar. Typing into the search bar sends an AJAX request for users that match the user's query.

Image of searchbar

Discover

Users can discover other users to follow in a convenient list. The discover feature sends an AJAX request for users the current user is not following.

Image of discover

Infinite Scrolling

The user's feed is optimized by loading images only when the user scrolls down to near the bottom of the page. This saves on loading unnecessary resources and decreases render times.

Technologies

Backend

Ruby on Rails a web application framework - is built at backend to provide RESTful API endpoints and progress data.

PostgreSQL is used to store and retrieve data.

  • BCrypt library to encrypt password information.
  • Protection from CSRF (Cross-site request forgery) attack with a one-time token.
  • Paperclip and Amazon Web Service S3 to handle hosting of user generated images.
  • Figaro to secure the configuration of API keys.
  • Jbuilder to create JSON responses to RESTful requests.
  • Hosted on Heroku.

Frontend

React/Redux are JavaScript libraries built at frontend to make a single-page App with reuseable, modular code. They provide unidirectional dataflow, manage the application state.

  • NPM (Node Package Manager) to manage dependencies.
  • Webpack module bundler to bundle JS files.
  • Babel compile JS files for compatible code.
  • SCSS / CSS3 create a responsive user interface.

Additional Resources

Future Improvements

Many features will be coming to Robogram in the future. See below for upcoming features.

Hashtags

Users can tag photos with #hashtags that can be searched.

Direct Messaging

Send live messages to other users

Videos

Users can upload videos that can be played

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].