Storyteller: The Social Network of Storytelling
- 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.
- Storyteller is built with
Ruby on Rails, following the REST Standards.
PostgreSQLis used for data storage on the backend.
ActiveRecord(ORM) is used for converting data between the backend and the database.
- Rails Views and
Reactare used for the front-end.
Bootstrap v3are used for styling.
Deviseis used for user authentication.
Omniauthis used for third-party authentication with Facebook, Twitter, and Google.
Authyis used for two-factor authentication.
recaptchais used to prevent bots from abusing the platform.
Amazon AWS S3is used to store files in the cloud.
PapaParseris used to parse
.csvfiles locally before making API requests to the backend.
will_paginateis used to for pagination and infinite scrolling.
RSpecis used for testing, and
Rubocopis used for compliance with the Ruby style guide.
- Storyteller is deployed on
- All seeded images are published by others under the Creative Commons (CC) License.
rspec to run the tests, and
rubocop to run Rubocop
Storyteller is secure
MIT. Copyright (c) Mike Nabil.
Contributions to Storyteller are welcome. Please, check the Contributions Guidelines for reference!