sis_core 1.0.2 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/sis/core/application_controller.rb +10 -2
  3. data/app/controllers/sis/core/menus_controller.rb +22 -0
  4. data/app/controllers/sis/core/users_controller.rb +71 -0
  5. data/app/models/sis/core/academic_programme.rb +17 -0
  6. data/app/models/sis/core/academic_year.rb +7 -0
  7. data/app/models/sis/core/applicant.rb +8 -1
  8. data/app/models/sis/core/application.rb +50 -0
  9. data/app/models/sis/core/application_document.rb +12 -0
  10. data/app/models/sis/core/application_module.rb +8 -0
  11. data/app/models/sis/core/application_setup.rb +23 -0
  12. data/app/models/sis/core/course.rb +10 -0
  13. data/app/models/sis/core/course_registration.rb +9 -0
  14. data/app/models/sis/core/document_requirement.rb +13 -0
  15. data/app/models/sis/core/{program_type.rb → document_type.rb} +1 -1
  16. data/app/models/sis/core/exam.rb +17 -0
  17. data/app/models/sis/core/exam_result.rb +25 -0
  18. data/app/models/sis/core/exam_setup.rb +15 -0
  19. data/app/models/sis/core/instructor.rb +6 -0
  20. data/app/models/sis/core/instructor_course.rb +8 -0
  21. data/app/models/sis/core/menu.rb +11 -0
  22. data/app/models/sis/core/programme.rb +7 -0
  23. data/app/models/sis/core/programme_level.rb +6 -0
  24. data/app/models/sis/core/programme_type.rb +6 -0
  25. data/app/models/sis/core/semester.rb +11 -0
  26. data/app/models/sis/core/student.rb +7 -0
  27. data/app/models/sis/core/user.rb +13 -0
  28. data/app/models/sis/core/user_role.rb +10 -0
  29. data/app/services/sis/core/user_service.rb +25 -0
  30. data/app/uploaders/sis/core/application_document_uploader.rb +51 -0
  31. data/app/uploaders/sis/core/photo_uploader.rb +51 -0
  32. data/config/routes.rb +6 -0
  33. data/db/migrate/20200105072142_create_sis_core_academic_years.rb +10 -0
  34. data/db/migrate/20200106072246_create_sis_core_semesters.rb +14 -0
  35. data/db/migrate/20200106130428_create_sis_core_programmes.rb +10 -0
  36. data/db/migrate/20200106132035_create_sis_core_academic_programmes.rb +21 -0
  37. data/db/migrate/20200106132521_create_sis_core_application_setups.rb +19 -0
  38. data/db/migrate/20200106133034_create_sis_core_document_requirements.rb +19 -0
  39. data/db/migrate/20200106133937_create_sis_core_applicants.rb +14 -2
  40. data/db/migrate/20200107094449_create_sis_core_applications.rb +24 -0
  41. data/db/migrate/20200107101638_create_sis_core_application_documents.rb +16 -0
  42. data/db/migrate/20200107302251_create_sis_core_exam_setups.rb +15 -0
  43. data/db/migrate/20200107333411_create_sis_core_exams.rb +17 -0
  44. data/db/migrate/20200107434658_create_sis_core_exam_results.rb +18 -0
  45. data/db/migrate/20200307033100_create_sis_core_courses.rb +19 -0
  46. data/db/migrate/20200307071511_create_sis_core_instructors.rb +10 -0
  47. data/db/migrate/20200307071736_create_sis_core_instructor_courses.rb +16 -0
  48. data/db/migrate/20200307072006_create_sis_core_students.rb +16 -0
  49. data/db/migrate/20200307072317_create_sis_core_course_registrations.rb +20 -0
  50. data/db/migrate/20200507114003_create_sis_core_users.rb +17 -0
  51. data/db/migrate/20200511165121_create_sis_core_application_modules.rb +15 -0
  52. data/db/migrate/20200511165241_create_sis_core_user_roles.rb +15 -0
  53. data/db/migrate/20200511165450_create_sis_core_menus.rb +18 -0
  54. data/lib/authorize_request.rb +18 -0
  55. data/lib/json_web_token.rb +12 -0
  56. data/lib/sis/core/engine.rb +2 -2
  57. data/lib/sis/core/version.rb +1 -1
  58. data/lib/sis_core.rb +5 -0
  59. data/spec/factories/sis/core/academic_programmes.rb +8 -0
  60. data/spec/factories/sis/core/academic_years.rb +6 -0
  61. data/spec/factories/sis/core/applicants.rb +9 -2
  62. data/spec/factories/sis/core/application_documents.rb +7 -0
  63. data/spec/factories/sis/core/application_modules.rb +6 -0
  64. data/spec/factories/sis/core/application_setups.rb +9 -0
  65. data/spec/factories/sis/core/applications.rb +11 -0
  66. data/spec/factories/sis/core/course_registrations.rb +7 -0
  67. data/spec/factories/sis/core/courses.rb +12 -0
  68. data/spec/factories/sis/core/document_requirements.rb +9 -0
  69. data/spec/factories/sis/core/document_types.rb +5 -0
  70. data/spec/factories/sis/core/exam_results.rb +8 -0
  71. data/spec/factories/sis/core/exam_setups.rb +8 -0
  72. data/spec/factories/sis/core/exams.rb +10 -0
  73. data/spec/factories/sis/core/instructor_courses.rb +6 -0
  74. data/spec/factories/sis/core/instructors.rb +6 -0
  75. data/spec/factories/sis/core/menus.rb +9 -0
  76. data/spec/factories/sis/core/programme_levels.rb +5 -0
  77. data/spec/factories/sis/core/programme_types.rb +5 -0
  78. data/spec/factories/sis/core/programmes.rb +6 -0
  79. data/spec/factories/sis/core/semesters.rb +7 -0
  80. data/spec/factories/sis/core/students.rb +9 -0
  81. data/spec/factories/sis/core/user_roles.rb +6 -0
  82. data/spec/factories/sis/core/users.rb +9 -0
  83. metadata +169 -22
  84. data/app/models/sis/core/attached_document.rb +0 -8
  85. data/app/models/sis/core/enrollment_application.rb +0 -9
  86. data/app/models/sis/core/program.rb +0 -9
  87. data/app/models/user.rb +0 -9
  88. data/config/initializers/devise_token_auth.rb +0 -55
  89. data/db/migrate/20200106001016_create_sis_core_field_of_studies.rb +0 -9
  90. data/db/migrate/20200106130428_create_sis_core_programs.rb +0 -10
  91. data/db/migrate/20200108092202_devise_token_auth_create_users.rb +0 -53
  92. data/db/migrate/20200108094449_create_sis_core_enrollment_applications.rb +0 -10
  93. data/db/migrate/20200108101638_create_sis_core_attached_documents.rb +0 -11
  94. data/spec/factories/sis/core/attached_documents.rb +0 -7
  95. data/spec/factories/sis/core/enrollment_applications.rb +0 -7
  96. data/spec/factories/sis/core/field_of_studies.rb +0 -6
  97. data/spec/factories/sis/core/program_types.rb +0 -5
  98. data/spec/factories/sis/core/programs.rb +0 -7
@@ -0,0 +1,16 @@
1
+ class CreateSisCoreStudents < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :sis_core_students do |t|
4
+ t.string :student_id, null: false, unique: true
5
+ t.string :full_name, null: false
6
+ t.date :date_of_birth, null: false
7
+ t.string :nationality, null: false
8
+ t.references :academic_programme,
9
+ index: { name: 'program_on_student_indx' },
10
+ null: false,
11
+ foreign_key: { to_table: :sis_core_academic_programmes }
12
+
13
+ t.timestamps
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,20 @@
1
+ class CreateSisCoreCourseRegistrations < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :sis_core_course_registrations do |t|
4
+ t.references :course,
5
+ index: { name: 'course_on_cr_indx' },
6
+ null: false,
7
+ foreign_key: { to_table: :sis_core_courses }
8
+ t.references :student,
9
+ index: { name: 'student_on_cr_indx' },
10
+ null: false,
11
+ foreign_key: { to_table: :sis_core_students }
12
+ t.references :semester,
13
+ index: { name: 'semester_on_cr_indx' },
14
+ null: false,
15
+ foreign_key: { to_table: :sis_core_semesters }
16
+
17
+ t.timestamps
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,17 @@
1
+ class CreateSisCoreUsers < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :sis_core_users do |t|
4
+ t.string :first_name, null: false
5
+ t.string :last_name, null: false
6
+ t.string :email, null: false
7
+ t.boolean :active, default: true
8
+ t.string :password_digest, null: false
9
+ t.string :reset_password_token
10
+ t.datetime :reset_password_sent_at
11
+ t.string :secret_question
12
+ t.string :secret_question_answer
13
+
14
+ t.timestamps
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,15 @@
1
+ class CreateSisCoreApplicationModules < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :sis_core_application_modules do |t|
4
+ t.string :code, null: false
5
+ t.string :name, null: false
6
+
7
+ t.timestamps
8
+ end
9
+
10
+ create_table :sis_core_application_modules_users, id: false do |t|
11
+ t.belongs_to :application_module, index: { name: 'app_module_on_app_modules_usr_indx' }
12
+ t.belongs_to :user, index: { name: 'usr_on_app_modules_usr_indx' }
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ class CreateSisCoreUserRoles < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :sis_core_user_roles do |t|
4
+ t.string :name, null: false
5
+ t.references :application_module, index: { name: 'app_module_on_usr_role_indx' }
6
+
7
+ t.timestamps
8
+ end
9
+
10
+ create_table :sis_core_user_roles_users, id: false do |t|
11
+ t.belongs_to :user, index: { name: 'usr_on_usr_role_usrs_indx' }
12
+ t.belongs_to :user_role, index: { name: 'usr_role_on_usr_role_usrs_indx' }
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,18 @@
1
+ class CreateSisCoreMenus < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :sis_core_menus do |t|
4
+ t.string :text, null: false
5
+ t.string :icon_cls
6
+ t.string :location
7
+ t.integer :parent_id
8
+ t.references :application_module, index: { name: 'app_module_on_menus_indx' }
9
+
10
+ t.timestamps
11
+ end
12
+
13
+ create_table :sis_core_menus_user_roles, id: false do |t|
14
+ t.belongs_to :menu, index: { name: 'menu_on_menus_usr_role_indx' }
15
+ t.belongs_to :user_role, index: { name: 'usr_role_on_menus_usr_role_indx' }
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ class AuthorizeRequest
2
+ class << self
3
+ def user(headers)
4
+ @user ||= User.find(decoded_auth_token(headers)[:id]) if decoded_auth_token(headers)
5
+ @user || nil
6
+ end
7
+
8
+ def decoded_auth_token(headers)
9
+ @decoded_auth_token ||= JsonWebToken.decode(http_auth_header(headers)) if http_auth_header(headers)
10
+ end
11
+
12
+ def http_auth_header(headers)
13
+ return headers['Authorization'].split(' ').last if headers['Authorization'].present?
14
+
15
+ nil
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,12 @@
1
+ class JsonWebToken
2
+ class << self
3
+ def encode(payload)
4
+ JWT.encode(payload, Rails.application.secrets.secret_key_base)
5
+ end
6
+
7
+ def decode(token)
8
+ body = JWT.decode(token, Rails.application.secrets.secret_key_base)[0]
9
+ HashWithIndifferentAccess.new body
10
+ end
11
+ end
12
+ end
@@ -1,11 +1,11 @@
1
- require 'devise_token_auth'
2
-
3
1
  module Sis
4
2
  module Core
5
3
  class Engine < ::Rails::Engine
6
4
  isolate_namespace Sis::Core
7
5
 
8
6
  config.generators.api_only = true
7
+ config.eager_load_paths << Sis::Core::Engine.root.join('lib')
8
+ config.autoload_paths << Sis::Core::Engine.root.join('lib')
9
9
 
10
10
  config.generators do |g|
11
11
  g.test_framework :rspec
@@ -1,5 +1,5 @@
1
1
  module Sis
2
2
  module Core
3
- VERSION = '1.0.2'.freeze
3
+ VERSION = '1.0.7'.freeze
4
4
  end
5
5
  end
@@ -1,2 +1,7 @@
1
1
  require 'sis/core'
2
2
  require 'sis/core/engine'
3
+ require 'jwt'
4
+ require 'bcrypt'
5
+ require 'aasm'
6
+ require 'active_model_serializers'
7
+ require 'carrierwave'
@@ -0,0 +1,8 @@
1
+ FactoryBot.define do
2
+ factory :academic_programme, class: Sis::Core::AcademicProgramme do
3
+ association :programme
4
+ association :programme_type
5
+ association :programme_level
6
+ duration { 4 }
7
+ end
8
+ end
@@ -0,0 +1,6 @@
1
+ FactoryBot.define do
2
+ factory :academic_year, class: Sis::Core::AcademicYear do
3
+ year { FFaker::Name.name }
4
+ label { 'Academic year of 2000/01' }
5
+ end
6
+ end
@@ -1,9 +1,16 @@
1
1
  FactoryBot.define do
2
- factory :applicant, class: 'Sis::Core::Applicant' do
2
+ factory :applicant, class: Sis::Core::Applicant do
3
3
  first_name { FFaker::Name.name }
4
4
  middle_name { FFaker::Name.name }
5
5
  last_name { FFaker::Name.name }
6
+ password { FFaker::Name.name }
6
7
  email { FFaker::Internet.email }
7
- phone_number { FFaker::PhoneNumber.phone_number }
8
+ primary_phone_number { FFaker::PhoneNumber.phone_number }
9
+ alternative_telephone_number { FFaker::PhoneNumber.phone_number }
10
+ date_of_birth { '2000-10-05' }
11
+ gender { FFaker::Gender.binary }
12
+ nationality { FFaker::Name.name }
13
+ address { FFaker::Address.city }
14
+ photo { FFaker::Name.name }
8
15
  end
9
16
  end
@@ -0,0 +1,7 @@
1
+ FactoryBot.define do
2
+ factory :application_document, class: Sis::Core::ApplicationDocument do
3
+ document { FFaker::Name.name }
4
+ association :document_requirement
5
+ association :application
6
+ end
7
+ end
@@ -0,0 +1,6 @@
1
+ FactoryBot.define do
2
+ factory :application_module, class: Sis::Core::ApplicationModule do
3
+ code { FFaker::Name.unique.name }
4
+ name { FFaker::Name.name }
5
+ end
6
+ end
@@ -0,0 +1,9 @@
1
+ FactoryBot.define do
2
+ factory :application_setup, class: Sis::Core::ApplicationSetup do
3
+ association :academic_programme
4
+ association :target_semester, factory: :semester
5
+ start_date { Date.today - 15.days }
6
+ end_date { Date.today + 15.days }
7
+ status { 'Open' }
8
+ end
9
+ end
@@ -0,0 +1,11 @@
1
+ FactoryBot.define do
2
+ factory :application, class: Sis::Core::Application do
3
+ status { :draft }
4
+ payment_made { false }
5
+ payment_information { nil }
6
+ application_date { Date.today }
7
+ association :applicant
8
+ association :academic_programme
9
+ association :application_setup
10
+ end
11
+ end
@@ -0,0 +1,7 @@
1
+ FactoryBot.define do
2
+ factory :course_registration, class: 'Sis::Core::CourseRegistration' do
3
+ association :course
4
+ association :student
5
+ association :semester
6
+ end
7
+ end
@@ -0,0 +1,12 @@
1
+ FactoryBot.define do
2
+ factory :course, class: 'Sis::Core::Course' do
3
+ code { FFaker::Name.name }
4
+ title { FFaker::Name.name }
5
+ description { FFaker::Lorem.paragraph }
6
+ credit_hours { FFaker::Random.rand(1..4) }
7
+ ects { FFaker::Random.rand(1..10) }
8
+ lecture_hours { FFaker::Random.rand(1..4) }
9
+ lab_hours { FFaker::Random.rand(1..4) }
10
+ association :program
11
+ end
12
+ end
@@ -0,0 +1,9 @@
1
+ FactoryBot.define do
2
+ factory :document_requirement, class: Sis::Core::DocumentRequirement do
3
+ association :document_type
4
+ association :application_setup
5
+ original { 1 }
6
+ copy { 1 }
7
+ remark { FFaker::Name.name }
8
+ end
9
+ end
@@ -0,0 +1,5 @@
1
+ FactoryBot.define do
2
+ factory :document_type, class: Sis::Core::DocumentType, parent: :lookup do
3
+ type { 'Sis::Core::DocumentType' }
4
+ end
5
+ end
@@ -0,0 +1,8 @@
1
+ FactoryBot.define do
2
+ factory :exam_result, class: Sis::Core::ExamResult do
3
+ association :exam
4
+ association :application
5
+ points { 15 }
6
+ status { Sis::Core::ExamResult::PASS }
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ FactoryBot.define do
2
+ factory :exam_setup, class: Sis::Core::ExamSetup do
3
+ date { Date.today }
4
+ hours { 3 }
5
+ venue { FFaker::Name.name }
6
+ association :application_setup
7
+ end
8
+ end
@@ -0,0 +1,10 @@
1
+ FactoryBot.define do
2
+ factory :exam, class: Sis::Core::Exam do
3
+ title { FFaker::Name.name }
4
+ start { Time.zone.parse('5:00 AM') }
5
+ finish { Time.zone.parse('6:00 AM') }
6
+ points { 30 }
7
+ pass_point { 15 }
8
+ association :exam_setup
9
+ end
10
+ end
@@ -0,0 +1,6 @@
1
+ FactoryBot.define do
2
+ factory :instructor_course, class: 'Sis::Core::InstructorCourse' do
3
+ # association :instructor
4
+ # association :course
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ FactoryBot.define do
2
+ factory :instructor, class: 'Sis::Core::Instructor' do
3
+ # full_name { FFaker::Name.name }
4
+ # date_of_birth { Date.new(2000, 1, 1) }
5
+ end
6
+ end
@@ -0,0 +1,9 @@
1
+ FactoryBot.define do
2
+ factory :menu, class: Sis::Core::Menu do
3
+ text { FFaker::Name.name }
4
+ icon_cls { 'xf001' }
5
+ location { '/programme' }
6
+ parent_id { nil }
7
+ association :application_module
8
+ end
9
+ end
@@ -0,0 +1,5 @@
1
+ FactoryBot.define do
2
+ factory :programme_level, class: Sis::Core::ProgrammeLevel, parent: :lookup do
3
+ type { 'Ecom::Core::ProgrammeLevel' }
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ FactoryBot.define do
2
+ factory :programme_type, class: Sis::Core::ProgrammeType, parent: :lookup do
3
+ type { 'Sis::Core::ProgrammeType' }
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ FactoryBot.define do
2
+ factory :programme, class: Sis::Core::Programme do
3
+ code { FFaker::Name.name }
4
+ name { FFaker::Name.name }
5
+ end
6
+ end
@@ -0,0 +1,7 @@
1
+ FactoryBot.define do
2
+ factory :semester, class: Sis::Core::Semester do
3
+ association :academic_year
4
+ name { FFaker::Name.name }
5
+ description { FFaker::Name.name }
6
+ end
7
+ end
@@ -0,0 +1,9 @@
1
+ FactoryBot.define do
2
+ factory :student, class: 'Sis::Core::Student' do
3
+ # student_id { FFaker::Name.name }
4
+ # full_name { FFaker::Name.name }
5
+ # date_of_birth { Date.new(2000, 1, 1) }
6
+ # nationality { FFaker::Name.name }
7
+ # association :program
8
+ end
9
+ end
@@ -0,0 +1,6 @@
1
+ FactoryBot.define do
2
+ factory :user_role, class: Sis::Core::UserRole do
3
+ name { FFaker::Name.name }
4
+ association :application_module
5
+ end
6
+ end
@@ -0,0 +1,9 @@
1
+ FactoryBot.define do
2
+ factory :user, class: Sis::Core::User do
3
+ first_name { FFaker::Name.name }
4
+ last_name { FFaker::Name.name }
5
+ email { FFaker::Internet.email }
6
+ active { false }
7
+ password { FFaker::Name.name }
8
+ end
9
+ end
metadata CHANGED
@@ -1,17 +1,87 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sis_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henock L.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-01 00:00:00.000000000 Z
11
+ date: 2020-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: devise_token_auth
14
+ name: aasm
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: active_model_serializers
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.10.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.10.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: bcrypt
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 3.1.7
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 3.1.7
55
+ - !ruby/object:Gem::Dependency
56
+ name: carrierwave
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: carrierwave-base64
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: jwt
15
85
  requirement: !ruby/object:Gem::Requirement
16
86
  requirements:
17
87
  - - ">="
@@ -44,6 +114,20 @@ dependencies:
44
114
  - - ">="
45
115
  - !ruby/object:Gem::Version
46
116
  version: 6.0.2.1
117
+ - !ruby/object:Gem::Dependency
118
+ name: sqlite3
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ type: :runtime
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
47
131
  - !ruby/object:Gem::Dependency
48
132
  name: factory_bot_rails
49
133
  requirement: !ruby/object:Gem::Requirement
@@ -115,19 +199,25 @@ dependencies:
115
199
  - !ruby/object:Gem::Version
116
200
  version: '0'
117
201
  - !ruby/object:Gem::Dependency
118
- name: sqlite3
202
+ name: pg
119
203
  requirement: !ruby/object:Gem::Requirement
120
204
  requirements:
121
205
  - - ">="
122
206
  - !ruby/object:Gem::Version
123
- version: '0'
207
+ version: '0.18'
208
+ - - "<"
209
+ - !ruby/object:Gem::Version
210
+ version: '2.0'
124
211
  type: :development
125
212
  prerelease: false
126
213
  version_requirements: !ruby/object:Gem::Requirement
127
214
  requirements:
128
215
  - - ">="
129
216
  - !ruby/object:Gem::Version
130
- version: '0'
217
+ version: '0.18'
218
+ - - "<"
219
+ - !ruby/object:Gem::Version
220
+ version: '2.0'
131
221
  description: An engine which contains the core of the student information system app
132
222
  as a layer.
133
223
  email:
@@ -140,37 +230,94 @@ files:
140
230
  - README.md
141
231
  - Rakefile
142
232
  - app/controllers/sis/core/application_controller.rb
233
+ - app/controllers/sis/core/menus_controller.rb
234
+ - app/controllers/sis/core/users_controller.rb
235
+ - app/models/sis/core/academic_programme.rb
236
+ - app/models/sis/core/academic_year.rb
143
237
  - app/models/sis/core/applicant.rb
238
+ - app/models/sis/core/application.rb
239
+ - app/models/sis/core/application_document.rb
240
+ - app/models/sis/core/application_module.rb
144
241
  - app/models/sis/core/application_record.rb
145
- - app/models/sis/core/attached_document.rb
146
- - app/models/sis/core/enrollment_application.rb
242
+ - app/models/sis/core/application_setup.rb
243
+ - app/models/sis/core/course.rb
244
+ - app/models/sis/core/course_registration.rb
245
+ - app/models/sis/core/document_requirement.rb
246
+ - app/models/sis/core/document_type.rb
247
+ - app/models/sis/core/exam.rb
248
+ - app/models/sis/core/exam_result.rb
249
+ - app/models/sis/core/exam_setup.rb
147
250
  - app/models/sis/core/field_of_study.rb
251
+ - app/models/sis/core/instructor.rb
252
+ - app/models/sis/core/instructor_course.rb
148
253
  - app/models/sis/core/lookup.rb
149
- - app/models/sis/core/program.rb
150
- - app/models/sis/core/program_type.rb
151
- - app/models/user.rb
254
+ - app/models/sis/core/menu.rb
255
+ - app/models/sis/core/programme.rb
256
+ - app/models/sis/core/programme_level.rb
257
+ - app/models/sis/core/programme_type.rb
258
+ - app/models/sis/core/semester.rb
259
+ - app/models/sis/core/student.rb
260
+ - app/models/sis/core/user.rb
261
+ - app/models/sis/core/user_role.rb
262
+ - app/services/sis/core/user_service.rb
263
+ - app/uploaders/sis/core/application_document_uploader.rb
264
+ - app/uploaders/sis/core/photo_uploader.rb
152
265
  - config/database.ci.yml
153
- - config/initializers/devise_token_auth.rb
154
266
  - config/routes.rb
155
267
  - db/migrate/20200105061717_create_sis_core_lookups.rb
156
- - db/migrate/20200106001016_create_sis_core_field_of_studies.rb
157
- - db/migrate/20200106130428_create_sis_core_programs.rb
268
+ - db/migrate/20200105072142_create_sis_core_academic_years.rb
269
+ - db/migrate/20200106072246_create_sis_core_semesters.rb
270
+ - db/migrate/20200106130428_create_sis_core_programmes.rb
271
+ - db/migrate/20200106132035_create_sis_core_academic_programmes.rb
272
+ - db/migrate/20200106132521_create_sis_core_application_setups.rb
273
+ - db/migrate/20200106133034_create_sis_core_document_requirements.rb
158
274
  - db/migrate/20200106133937_create_sis_core_applicants.rb
159
- - db/migrate/20200108092202_devise_token_auth_create_users.rb
160
- - db/migrate/20200108094449_create_sis_core_enrollment_applications.rb
161
- - db/migrate/20200108101638_create_sis_core_attached_documents.rb
275
+ - db/migrate/20200107094449_create_sis_core_applications.rb
276
+ - db/migrate/20200107101638_create_sis_core_application_documents.rb
277
+ - db/migrate/20200107302251_create_sis_core_exam_setups.rb
278
+ - db/migrate/20200107333411_create_sis_core_exams.rb
279
+ - db/migrate/20200107434658_create_sis_core_exam_results.rb
280
+ - db/migrate/20200307033100_create_sis_core_courses.rb
281
+ - db/migrate/20200307071511_create_sis_core_instructors.rb
282
+ - db/migrate/20200307071736_create_sis_core_instructor_courses.rb
283
+ - db/migrate/20200307072006_create_sis_core_students.rb
284
+ - db/migrate/20200307072317_create_sis_core_course_registrations.rb
285
+ - db/migrate/20200507114003_create_sis_core_users.rb
286
+ - db/migrate/20200511165121_create_sis_core_application_modules.rb
287
+ - db/migrate/20200511165241_create_sis_core_user_roles.rb
288
+ - db/migrate/20200511165450_create_sis_core_menus.rb
289
+ - lib/authorize_request.rb
290
+ - lib/json_web_token.rb
162
291
  - lib/sis/core.rb
163
292
  - lib/sis/core/engine.rb
164
293
  - lib/sis/core/version.rb
165
294
  - lib/sis_core.rb
166
295
  - lib/tasks/sis_core_tasks.rake
296
+ - spec/factories/sis/core/academic_programmes.rb
297
+ - spec/factories/sis/core/academic_years.rb
167
298
  - spec/factories/sis/core/applicants.rb
168
- - spec/factories/sis/core/attached_documents.rb
169
- - spec/factories/sis/core/enrollment_applications.rb
170
- - spec/factories/sis/core/field_of_studies.rb
299
+ - spec/factories/sis/core/application_documents.rb
300
+ - spec/factories/sis/core/application_modules.rb
301
+ - spec/factories/sis/core/application_setups.rb
302
+ - spec/factories/sis/core/applications.rb
303
+ - spec/factories/sis/core/course_registrations.rb
304
+ - spec/factories/sis/core/courses.rb
305
+ - spec/factories/sis/core/document_requirements.rb
306
+ - spec/factories/sis/core/document_types.rb
307
+ - spec/factories/sis/core/exam_results.rb
308
+ - spec/factories/sis/core/exam_setups.rb
309
+ - spec/factories/sis/core/exams.rb
310
+ - spec/factories/sis/core/instructor_courses.rb
311
+ - spec/factories/sis/core/instructors.rb
171
312
  - spec/factories/sis/core/lookups.rb
172
- - spec/factories/sis/core/program_types.rb
173
- - spec/factories/sis/core/programs.rb
313
+ - spec/factories/sis/core/menus.rb
314
+ - spec/factories/sis/core/programme_levels.rb
315
+ - spec/factories/sis/core/programme_types.rb
316
+ - spec/factories/sis/core/programmes.rb
317
+ - spec/factories/sis/core/semesters.rb
318
+ - spec/factories/sis/core/students.rb
319
+ - spec/factories/sis/core/user_roles.rb
320
+ - spec/factories/sis/core/users.rb
174
321
  homepage: http://www.mks.com.et
175
322
  licenses:
176
323
  - MIT