diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml
new file mode 100644
index 0000000..3b33c28
--- /dev/null
+++ b/.github/workflows/linters.yml
@@ -0,0 +1,20 @@
+name: Linters
+
+on: pull_request
+
+jobs:
+ rubocop:
+ name: Rubocop
+ runs-on: ubuntu-22.04
+
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/setup-ruby@v1
+ with:
+ ruby-version: ">=3.1.x"
+ - name: Setup Rubocop
+ run: |
+ gem install --no-document rubocop -v '>= 1.0, < 2.0' # https://docs.rubocop.org/en/stable/installation/
+ [ -f .rubocop.yml ] || wget https://raw.githubusercontent.com/microverseinc/linters-config/master/ruby/.rubocop.yml
+ - name: Rubocop Report
+ run: rubocop --color
\ No newline at end of file
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
new file mode 100644
index 0000000..f786456
--- /dev/null
+++ b/.github/workflows/tests.yml
@@ -0,0 +1,19 @@
+name: Tests
+
+on: pull_request
+
+jobs:
+ rspec:
+ name: RSpec
+ runs-on: ubuntu-22.04
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/setup-ruby@v1
+ with:
+ ruby-version: 3.1.x
+ - name: Setup RSpec
+ run: |
+ [ -f Gemfile ] && bundle
+ gem install --no-document rspec -v '>=3.0, < 4.0'
+ - name: RSpec Report
+ run: rspec --force-color --format documentation
\ No newline at end of file
diff --git a/.rubocop.yml b/.rubocop.yml
new file mode 100644
index 0000000..508a3a9
--- /dev/null
+++ b/.rubocop.yml
@@ -0,0 +1,52 @@
+AllCops:
+ NewCops: enable
+ Exclude:
+ - "Guardfile"
+ - "Rakefile"
+ - "node_modules/**/*"
+
+ DisplayCopNames: true
+
+Layout/LineLength:
+ Max: 120
+Metrics/MethodLength:
+ Max: 20
+Metrics/AbcSize:
+ Max: 50
+Metrics/ClassLength:
+ Max: 150
+Metrics/BlockLength:
+ AllowedMethods: ['describe']
+ Max: 30
+
+
+Style/Documentation:
+ Enabled: false
+Style/ClassAndModuleChildren:
+ Enabled: false
+Style/EachForSimpleLoop:
+ Enabled: false
+Style/AndOr:
+ Enabled: false
+Style/DefWithParentheses:
+ Enabled: false
+Style/FrozenStringLiteralComment:
+ EnforcedStyle: never
+
+Layout/HashAlignment:
+ EnforcedColonStyle: key
+Layout/ExtraSpacing:
+ AllowForAlignment: false
+Layout/MultilineMethodCallIndentation:
+ Enabled: true
+ EnforcedStyle: indented
+Lint/RaiseException:
+ Enabled: false
+Lint/StructNewOverride:
+ Enabled: false
+Style/HashEachMethods:
+ Enabled: false
+Style/HashTransformKeys:
+ Enabled: false
+Style/HashTransformValues:
+ Enabled: false
\ No newline at end of file
diff --git a/GemFile b/GemFile
new file mode 100644
index 0000000..64f6df6
--- /dev/null
+++ b/GemFile
@@ -0,0 +1,2 @@
+source "https://rubygems.org"
+gem 'rubocop', '>= 1.0', '< 2.0'
diff --git a/GemFile.lock b/GemFile.lock
new file mode 100644
index 0000000..40454d9
--- /dev/null
+++ b/GemFile.lock
@@ -0,0 +1,34 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ ast (2.4.2)
+ json (2.6.3)
+ parallel (1.22.1)
+ parser (3.2.1.1)
+ ast (~> 2.4.1)
+ rainbow (3.1.1)
+ regexp_parser (2.7.0)
+ rexml (3.2.5)
+ rubocop (1.48.0)
+ json (~> 2.3)
+ parallel (~> 1.10)
+ parser (>= 3.2.0.0)
+ rainbow (>= 2.2.2, < 4.0)
+ regexp_parser (>= 1.8, < 3.0)
+ rexml (>= 3.2.5, < 4.0)
+ rubocop-ast (>= 1.26.0, < 2.0)
+ ruby-progressbar (~> 1.7)
+ unicode-display_width (>= 2.4.0, < 3.0)
+ rubocop-ast (1.27.0)
+ parser (>= 3.2.1.0)
+ ruby-progressbar (1.13.0)
+ unicode-display_width (2.4.2)
+
+PLATFORMS
+ x64-mingw-ucrt
+
+DEPENDENCIES
+ rubocop (>= 1.0, < 2.0)
+
+BUNDLED WITH
+ 2.3.26
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..a210534
--- /dev/null
+++ b/README.md
@@ -0,0 +1,165 @@
+
+
+# 📗 Table of Contents
+
+- [📖 About the Project](#about-project)
+ - [🛠 Built With](#built-with)
+ - [Tech Stack](#tech-stack)
+ - [Key Features](#key-features)
+ - [🚀 Live Demo](#live-demo)
+- [💻 Getting Started](#getting-started)
+ - [Prerequisites](#prerequisites)
+ - [Setup](#setup)
+ - [Install](#install)
+ - [Usage](#usage)
+ - [Run tests](#run-tests)
+ - [Deployment](#triangular_flag_on_post-deployment)
+- [👥 Authors](#authors)
+- [🔭 Future Features](#future-features)
+- [🤝 Contributing](#contributing)
+- [⭐️ Show your support](#support)
+- [📝 License](#license)
+
+
+
+# 📖 OOP School Library
+
+**OOP School Library** Aims to create a simple library management system for a school using Ruby programming language. The system should allow librarians to add books to the library, track books that are checked out by students, and manage student accounts.
+
+## 🛠 Built With
+
+### Tech Stack
+
+Client
+
+
+