Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tbuchannan/keepScrolling

Fullstack web application inspired by Tumblr. It utilizes Ruby on Rails, PostgreSQL, React.js and Redux.
https://github.com/tbuchannan/keepScrolling

Last synced: 3 months ago
JSON representation

Fullstack web application inspired by Tumblr. It utilizes Ruby on Rails, PostgreSQL, React.js and Redux.

Awesome Lists containing this project

README

        

# keepScrolling [![Build Status](https://travis-ci.org/tbuchannan/keepScrolling.svg?branch=master)](https://travis-ci.org/tbuchannan/keepScrolling)

[keepScrolling live][heroku]

[heroku]:https://keep-scrolling.herokuapp.com

keepScrolling is a fullstack web application inspired by tumblr. It utilizes Ruby on Rails on the backend, a PostgreSQL database, and React.js with a Redux architectural framework on the frontend.

## Features & Implementation

### Post Rendering and Deleting
On the database the posts are stored in one table, containing the columns for `id`,`title`,`content`,
`body`,`author_id`,`created_at`,`updated_at`,`summary`,`source`,`image_file_name`,`image_content_type`,
`image_file_size`, `image_updated_at`. Upon login an API call is made to the database which grabs all of the posts from all of the users, and displays them. They are then held in a slice of the state named posts until the user's session is destroyed.

Posts are rendered in one component, the PostItem component, which displays the author of the post, their profile picture, the post and options to delete the post. The PostItem Component is rendered on the, PostItemIndex Component which is rendered on the Dashboard component upon login. The UI is taken inspired by tumblr, for a clean minimalist look.
### Dashboard
![image of dashboard](/docs/images/keepScrollingImage.png)

### Post Picture
![image of creating picture post](/docs/images/picPost.png)

## Future Directions for the Project
In addition to the features already implemented, the next steps for keepScrolling are outlined below.

### Search

Searching notes is a standard feature of tumblr. I plan to utilize the pgsearch library to create a search of posts and tags. This search will look go through tags, posts, title, body, and content.

### Direct Messaging

Although this is less essential functionality, I also plan to implement messaging between keepScrolling users. To do this, I will use websocket integration so that notifications of messages happens seamlessly.