Code Monkey home page Code Monkey logo

rails-bible-talks-social-app's Introduction

Hireable

Bible Talks social web app built in rails with user registration and creation of talks(tweets)/follow/unfollow users.

In this project, we were required to build a social app where users can sign-up/sign-in/sign out, create talks(tweets), and follow/unfollow other users. The project enforced our skills in using most of the core functionalities of the Rails framework.


> The app is mobile responsive and users can sign up/sign in with their Github and Twitter accounts. Users can upload a profile and cover images at the sign-up or after they sign in by accessing the profile page, here they can also edit their username and full name.
> The app is tested using RSpec for unit and integration tests

App functionality

  • Users can sign up/sign in/sign out by filling out the forms or using their Github or Twitter account
  • Users can create talks (tweets)
  • Users can upload a profile and cover images when they sign up, otherwise they will have default placeholders
  • Users can edit their profile username, full name and images
  • Users can follow and unfollow other users
  • Users can see who he is following and who are following other users
  • The app is fully mobile responsive and uploads the user images to AWS S3 with Active Storage

Video presentation of the project here

This web app is live, you can check it here: Live demo

Screenshots of the app.

image image image

Built With

  • Ruby
  • Rails
  • RSpec
  • PostgreSQL
  • Omniauth
  • AWS S3 uploads for Rails Active Storage
  • Bootstrap
  • Fontawesome

Prerequisities

To get this project up and running locally, you must have ruby and postgres installed on your computer.

Getting Started

To get this project set up on your local machine, follow these simple steps:

Step 1
Navigate through the local folder where you want to clone the repository and run
[email protected]:cristianCeamatu/rails-bible-talks-social-app.git. It will clone the repo to your local folder.
or with https
https://github.com/cristianCeamatu/rails-bible-talks-social-app.
Step 2
Run cd rails-bible-talks-social-app
Step 3
Run bundle install to install the gems from the Gemfile.
Step 4
Run yarn install to install the npm packages from the package.json file.
Step 5
Run bundle exec figaro install, this will create a file called application.yml in the config folder.
Step 6
Open config/application.yml and add your credenatials for your postgres/github and twitter/AWS S3 accounts like this (click on the above links to find out how to get a key):
PG_DATABASE_USER: example
PG_DATABASE_PASSWORD: password
GITHUB_KEY: key
GITHUB_SECRET: key
TWITTER_KEY: key
TWITTER_SECRET: key
BUCKETEER_AWS_ACCESS_KEY_ID: key
BUCKETEER_AWS_SECRET_ACCESS_KEY: key
BUCKETEER_AWS_REGION: key-zone
BUCKETEER_BUCKET_NAME: key-bucket
Step 7
Run rails db:create and rails db:migrate to create and migrate the database tabels and associations.
Step 8
Run rails s to start the rails server.
Step 9
You can visit the app at http://localhost:3000. Enjoy!

Tests

  1. Open Terminal

  2. Migrate the test database:

    rails db:migrate RAILS_ENV=test

  3. Run the tests with the command:

    rspec

Authors

๐Ÿ‘ค Cristian Viorel Ceamatu

๐Ÿค Contributing

Our favourite contributions are those that help us improve the project, whether with a contribution, an issue, or a feature request!

Show your support

If you've read this far....give us a โญ๏ธ!

๐Ÿ“ License

This project is licensed by Microverse and the Odin Project

Acknowledgement

rails-bible-talks-social-app's People

Contributors

cristianceamatu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

sajjadahmad14

rails-bible-talks-social-app's Issues

Upgrades

Omniauth gem for google or twitter
User edit page
Can edit Opinions
Recheck n+1 problem
Optimize/refactor views into helpers

Morning meeting code review

Hi Cristian,

Your capstone project looks awesome!
You went the extra mile to improve its UI.

Keep sharing good work with us!

team-135-the-apollos

Add a limit on the right side-bar who-to-follow section

As users create an account, the side-bar increases in height because all the not followed users are displayed there. I recommend adding a limit for consistency, then we can select a random number of users to be displayed, this way every time you refresh you get different users.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.