A clone of LinkedIn software with basic functionalities.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
The API documentation is available here.
What things you need to install the software and how to install them:
git clone git@github.com:ghoshnirmalya/linkedin-rails.git && cd linked-rails
docker-compose build
docker-compose run linkedin.rails.web rake db:create
cp .env.development.example .env.development && cp .env.test.example .env.test
docker-compose run linkedin.rails.web rake db:migrate
Please have a look at Quickstart: Compose and Rails if you run into any trouble while installing.
You can run all the specs using the following command:
docker exec -it linkedin-rails_linkedin.rails.web_1 rspec .
If you want to run a single spec, use the following pattern:
docker exec -it linkedin-rails_linkedin.rails.web_1 rspec spec/controllers/v1/users_controller_spec.rb
You'll have to update the .env
files to make all the specs pass.
You can check the development logs using the following command:
docker exec -it linkedin-rails_linkedin.rails.web_1 tail -f log/development.log
If you want to check the test logs, you'll need to use the following command:
docker exec -it linkedin-rails_linkedin.rails.web_1 tail -f log/test.log
- Ruby on Rails - The web framework used to build the app
- Docker - Used to containerize the app
- Postgresql - The database used to store the data
If you find any bugs, please feel free to create an issue for that.
This project is licensed under the MIT License - see the LICENSE.md file for details
- How to Test Rails Models with RSpec
- Writing One-Liner RSpec Tests in Rails with Shoulda-Matchers
- An Introduction to Using JWT Authentication in Rails
- Token-based authentication with Ruby on Rails 5 API
- Simple approach to Rails 5 API authentication with Json Web Token
- Tutorial: Create a simple messaging system on Rails
- How to test Rails mailers using RSpec
- Sending emails with ActionMailer and Sidekiq
- RSpec Cheatsheet
- Factory Bot cheatsheet
- Authentication
- Make APIs follow JSON-API specification
- Users Listing API
- Search (for Users)
- Companies Listing API
- Search (for Companies)
- Jobs Listing API
- Search (for Jobs)
- Conversations Listing API
- Messages belonging to a conversation Listing API
- Send an email after a new user signs up
- Send an email after an existing user requests for a new password