Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.github
app
bin
config
db
lib
log
planning
public
spec
test
tmp
vendor/assets
.babelrc
.editorconfig
.gitignore
.postcssrc.yml
.rspec
.rubocop.yml
.rubocop_todo.yml
.rubocup_old.yml
.ruby-gemset
.ruby-version
Gemfile
Gemfile.lock
LICENSE.txt
Procfile
README.md
Rakefile
app.json
config.ru
package.json
yarn.lock

README.md

Storyteller: The Social Network of Storytelling

JavaScript Style Guide GitHub license

Deployed app

http://storyteller.mikenabil.net/

Description

  • Storytelling is one of the strongest and the oldest tools of communication. Stories shape our lives, our belief systems, and our political views. A properly-delivered story can have an enormous impact on the world.
  • In the last two decades, more and more people have been using social media platforms to tell their stories and to learn the stories of others. Storyteller is built to be a dedicated platform for storytellers; it's a place where you can share your story with the world, and discuss other people's stories.
  • I started working on Storyteller on Feb 27, 2017, and since then it has grown into a big project. As of July 2018, Storyteller has 19 models, 22 controllers, and more than three thousand lines of code.

Technology

  • Storyteller is built with Ruby on Rails, following the REST Standards.
  • PostgreSQL is used for data storage on the backend.
  • ActiveRecord (ORM) is used for converting data between the backend and the database.
  • Rails Views and React are used for the front-end.
  • SCSS and Bootstrap v3 are used for styling.
  • Devise is used for user authentication.
  • Omniauth is used for third-party authentication with Facebook, Twitter, and Google.
  • Authy is used for two-factor authentication.
  • recaptcha is used to prevent bots from abusing the platform.
  • Amazon AWS S3 is used to store files in the cloud.
  • PapaParser is used to parse .csv files locally before making API requests to the backend.
  • will_paginate is used to for pagination and infinite scrolling.
  • RSpec is used for testing, and Rubocop is used for compliance with the Ruby style guide.
  • Storyteller is deployed on Heroku.
  • All seeded images are published by others under the Creative Commons (CC) License.

Installation Instructions

https://github.com/maikelnabil/storyteller/blob/master/planning/installment.md

Tests

Use rspec to run the tests, and rubocop to run Rubocop

Upcoming Features

SMS Notifications

Screencast

https://www.youtube.com/watch?v=Koqdlu7o-2A&feature=youtu.be

Wireframes

https://github.com/maikelnabil/storyteller/blob/master/planning/wireframes/wireframes.md

User Stories

https://github.com/maikelnabil/storyteller/blob/master/planning/user_stories.md

ERD

Storyteller-ERD

Storyteller is secure

Storyteller-TINFOIL

License

MIT. Copyright (c) Mike Nabil.

Contributions

Contributions to Storyteller are welcome. Please, check the Contributions Guidelines for reference!