This is a social web application in which users can track stocks and follow other users and see what stocks they are tracking.
I developed this web application to learn the following:
- Using devise gem for user authentication and authorization
- Use self-referential association to implement following users relationship
- Using ActiveJobs and Sidekiq to schedule jobs using cron and adding them to a queue
- Implement a search bar to search for stocks and users
- Using AJAX to update the web app asynchronously
- Ruby v2.7.1
- Rails v6.0.3
- SQLite v1.4.0
- Sidekiq v6.1.2
- Redis v6.0.8
- Bootstrap4 v4.5.2
To clone and run this application, you'll need Ruby, Rails and Redis on your machine. Also, an IEX client API key.
From your terminal:
# Clone this repository
$ git clone https://github.com/ramikhafagi96/Social-Stock-Tracker.git
# Go into the repository directory
$ cd social-stock-tracker
# Install gems needed
$ bundle install
# Run the app
$ rails server
# Run Redis
redis-server
# Run Sidekiq
bundle exec sidekiq
- Authenticate and authorize users using devise gem
- Devise gem views for login and signup
- A user can search for a stock using it's ticker symbol
- A user can add a stock to his portfolio so he can track it
- A user can search for another user using name or email
- A user can follow other users to view the stocks tracked by them
- A job is scheduled using cron and sidekiq every minute to update the stock prices in the database by fetching new prices from IEX cloud.
Email: [email protected]
Linkedin: ramikhafagi96