jinda 0.7.7.4 → 1.0.0
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.
- checksums.yaml +4 -4
- data/README.md +46 -29
- data/Rakefile +103 -1
- data/app/assets/config/manifest.js +4 -1
- data/app/assets/javascripts/jinda_bootstrap.js +20 -0
- data/app/assets/stylesheets/_jinda_bootstrap_theme.scss +190 -0
- data/{lib/generators/jinda/templates/app/assets/stylesheets/jinda_jqm.css.scss → app/assets/stylesheets/jinda_bootstrap.css.scss} +12 -10
- data/app/config/routes.rb +38 -28
- data/app/controllers/concerns/jinda_general_concern.rb +86 -87
- data/app/controllers/concerns/jinda_run_concern.rb +184 -184
- data/app/controllers/jinda_controller.rb +23 -22
- data/bin/lint_modified +21 -0
- data/config/routes.rb +41 -22
- data/lib/generators/jinda/config_generator.rb +102 -81
- data/lib/generators/jinda/install_generator.rb +305 -148
- data/lib/generators/jinda/install_generator.rb.bak2 +268 -0
- data/lib/generators/jinda/installer/gems_install.rb +125 -127
- data/lib/generators/jinda/minitest_generator.rb +19 -18
- data/lib/generators/jinda/rspec_generator.rb +15 -14
- data/lib/generators/jinda/templates/DOCKER.md +188 -0
- data/lib/generators/jinda/templates/Dockerfile +15 -5
- data/lib/generators/jinda/templates/README.md +3 -3
- data/lib/generators/jinda/templates/app/assets/config/manifest.js +4 -0
- data/lib/generators/jinda/templates/app/assets/javascripts/application.js +8 -8
- data/lib/generators/jinda/templates/app/channels/application_cable/channel.rb +2 -0
- data/lib/generators/jinda/templates/app/channels/application_cable/connection.rb +2 -0
- data/{test/dummy → lib/generators/jinda/templates}/app/controllers/adminltes_controller.rb +1 -0
- data/lib/generators/jinda/templates/app/controllers/api/v1/notes_controller.rb +80 -78
- data/lib/generators/jinda/templates/app/controllers/jinda_org/admins_controller.rb +4 -2
- data/lib/generators/jinda/templates/app/controllers/jinda_org/application_controller.rb +11 -9
- data/lib/generators/jinda/templates/app/controllers/jinda_org/articles_controller.rb +40 -44
- data/lib/generators/jinda/templates/app/controllers/jinda_org/comments_controller.rb +10 -8
- data/lib/generators/jinda/templates/app/controllers/jinda_org/docs_controller.rb +23 -24
- data/lib/generators/jinda/templates/app/controllers/jinda_org/identities_controller.rb +3 -1
- data/lib/generators/jinda/templates/app/controllers/jinda_org/notes_controller.rb +25 -27
- data/lib/generators/jinda/templates/app/controllers/jinda_org/password_resets_controller.rb +16 -18
- data/lib/generators/jinda/templates/app/controllers/jinda_org/sessions_controller.rb +13 -14
- data/lib/generators/jinda/templates/app/controllers/jinda_org/sitemap_controller.rb +4 -4
- data/lib/generators/jinda/templates/app/controllers/jinda_org/users_controller.rb +14 -14
- data/lib/generators/jinda/templates/app/controllers/mindmap_editor_controller.rb +74 -0
- data/lib/generators/jinda/templates/app/helpers/admins_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/helpers/application_helper.rb +21 -20
- data/lib/generators/jinda/templates/app/helpers/articles_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/helpers/basic_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/helpers/comments_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/helpers/ctrs_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/helpers/devs_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/helpers/mindmap_editor_helper.rb +3 -0
- data/lib/generators/jinda/templates/app/helpers/pictures_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/helpers/sitemap_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/helpers/users_helper.rb +2 -0
- data/lib/generators/jinda/templates/app/jinda/index.mm +276 -298
- data/lib/generators/jinda/templates/app/jinda/template/index.mm +1 -0
- data/lib/generators/jinda/templates/app/mailers/jinda_mailer.rb +5 -3
- data/lib/generators/jinda/templates/app/mailers/note_mailer.rb +6 -4
- data/lib/generators/jinda/templates/app/mailers/user_mailer.rb +5 -5
- data/lib/generators/jinda/templates/app/models/address.rb +10 -8
- data/lib/generators/jinda/templates/app/models/article.rb +8 -6
- data/lib/generators/jinda/templates/app/models/comment.rb +10 -8
- data/lib/generators/jinda/templates/app/models/identity.rb +11 -10
- data/lib/generators/jinda/templates/app/models/jinda/doc.rb +36 -33
- data/lib/generators/jinda/templates/app/models/jinda/jinda_module.rb +15 -0
- data/lib/generators/jinda/templates/app/models/jinda/module.rb +14 -10
- data/lib/generators/jinda/templates/app/models/jinda/notice.rb +15 -11
- data/lib/generators/jinda/templates/app/models/jinda/role.rb +11 -7
- data/lib/generators/jinda/templates/app/models/jinda/runseq.rb +23 -20
- data/lib/generators/jinda/templates/app/models/jinda/service.rb +19 -15
- data/lib/generators/jinda/templates/app/models/jinda/xmain.rb +42 -36
- data/lib/generators/jinda/templates/app/models/note.rb +14 -10
- data/lib/generators/jinda/templates/app/models/param.rb +23 -20
- data/lib/generators/jinda/templates/app/models/person.rb +9 -7
- data/lib/generators/jinda/templates/app/models/user.rb +42 -41
- data/lib/generators/jinda/templates/app/views/articles/show.html.haml +2 -2
- data/lib/generators/jinda/templates/app/views/identities/new.html.haml +13 -0
- data/lib/generators/jinda/templates/app/views/jinda/_static_bootstrap.haml +23 -0
- data/lib/generators/jinda/templates/app/views/jinda/feed.rss.builder +15 -13
- data/lib/generators/jinda/templates/app/views/jinda/index.html.haml +3 -2
- data/lib/generators/jinda/templates/app/views/layouts/application.haml +31 -4
- data/lib/generators/jinda/templates/app/views/layouts/lte/_header.haml +54 -0
- data/{test/dummy → lib/generators/jinda/templates}/app/views/layouts/lte/_sidebar.haml +1 -1
- data/lib/generators/jinda/templates/app/views/mindmap_editor/edit.html.haml +126 -0
- data/lib/generators/jinda/templates/app/views/mindmap_editor/save.html.haml +2 -0
- data/lib/generators/jinda/templates/app/views/sessions/new.html.haml +13 -0
- data/lib/generators/jinda/templates/bin/lint_modified +21 -0
- data/lib/generators/jinda/templates/config/mongoid.yml +3 -3
- data/lib/generators/jinda/templates/config/mongoid.yml-docker +3 -3
- data/lib/generators/jinda/templates/config/mongoid.yml-localhost +3 -3
- data/lib/generators/jinda/templates/docker-compose-mongodb.yml +13 -0
- data/lib/generators/jinda/templates/docker-compose-web.yml +36 -0
- data/lib/generators/jinda/templates/docker-compose.yml +10 -14
- data/lib/generators/jinda/templates/spec/controllers/api/v1_get_index_spec.rb +15 -14
- data/lib/generators/jinda/templates/spec/controllers/api/v1_get_my_spec.rb +9 -4
- data/lib/generators/jinda/templates/spec/controllers/api/v1_post_spec.rb +4 -3
- data/lib/generators/jinda/templates/spec/controllers/sessions_controller_spec.rb +82 -90
- data/lib/generators/jinda/templates/spec/features/userlogins_spec.rb +12 -15
- data/lib/generators/jinda/templates/spec/mailers/note_spec.rb +5 -8
- data/lib/generators/jinda/templates/spec/mailers/previews/note_preview.rb +3 -5
- data/lib/generators/jinda/templates/spec/models/note_spec.rb +36 -35
- data/lib/generators/jinda/templates/spec/models/user_spec.rb +10 -8
- data/lib/generators/jinda/templates/spec/rails_helper.rb +29 -31
- data/lib/generators/jinda/templates/spec/spec_helper.rb +19 -17
- data/lib/generators/jinda/templates/spec/support/authentication_helper.rb +8 -7
- data/lib/generators/jinda/templates/spec/support/databasecleaner.rb +3 -1
- data/lib/generators/jinda/templates/spec/support/factory_bot.rb +7 -5
- data/lib/generators/jinda/templates/spec/support/omniauth_macros.rb +14 -19
- data/lib/generators/jinda/templates/spec/support/request_spec_helper.rb +3 -1
- data/lib/generators/jinda/templates/spec/views/articles/_article.html.erb_spec.rbx +9 -8
- data/lib/generators/jinda/templates/test/application_system_test_case.rb +3 -1
- data/lib/generators/jinda/templates/test/integration/jinda_routes_test.rb +16 -21
- data/lib/generators/jinda/templates/test/test_helper.rb +7 -3
- data/lib/jinda/date_helpers.rb +50 -41
- data/lib/jinda/gem_helpers.rb +10 -8
- data/lib/jinda/gen_class.rb +14 -12
- data/lib/jinda/gen_controller.rb +9 -8
- data/lib/jinda/gen_freemind.rb +33 -32
- data/lib/jinda/gen_helpers.rb +146 -139
- data/lib/jinda/gen_models.rb +125 -131
- data/lib/jinda/gen_modules.rb +21 -16
- data/lib/jinda/gen_runseq.rb +71 -67
- data/lib/jinda/gen_services.rb +74 -80
- data/lib/jinda/gen_xmain.rb +38 -36
- data/lib/jinda/get_app.rb +31 -29
- data/lib/jinda/helpers.rb +4 -4
- data/lib/jinda/init_vars.rb +41 -36
- data/lib/jinda/mindmap_converter.rb +196 -0
- data/lib/jinda/railtie.rb +10 -2
- data/lib/jinda/rake_views.rb +61 -60
- data/lib/jinda/refresh.rb +67 -61
- data/lib/jinda/themes.rb +80 -60
- data/lib/jinda/version.rb +3 -1
- data/lib/jinda.rb +2 -0
- data/lib/tasks/jinda.rake +25 -22
- data/test/INTEGRATION_TEST_README.md +374 -0
- data/test/LOCAL_DEVELOPMENT.md +345 -0
- data/test/README.md +243 -0
- data/test/TEST_INFRASTRUCTURE.md +412 -0
- data/test/TEST_INSTALLATION_SH_FIXES.md +205 -0
- data/test/UNIT_TESTS_README.md +366 -0
- data/test/api_notes_controller_test.rb +231 -0
- data/test/dummy/DOCKER.md +188 -0
- data/test/dummy/Dockerfile +15 -7
- data/test/dummy/Gemfile +38 -29
- data/test/dummy/Gemfile.lock +671 -292
- data/test/dummy/app/assets/config/manifest.js +4 -0
- data/test/dummy/app/channels/application_cable/channel.rb +2 -0
- data/test/dummy/app/channels/application_cable/connection.rb +2 -0
- data/test/dummy/app/controllers/admins_controller.rb +4 -2
- data/test/dummy/app/controllers/api/v1/notes_controller.rb +80 -78
- data/test/dummy/app/controllers/application_controller.rb +11 -9
- data/test/dummy/app/controllers/articles_controller.rb +40 -44
- data/test/dummy/app/controllers/comments_controller.rb +10 -8
- data/test/dummy/app/controllers/ctrs_controller.rb +2 -0
- data/test/dummy/app/controllers/devs_controller.rb +2 -0
- data/test/dummy/app/controllers/docs_controller.rb +23 -24
- data/test/dummy/app/controllers/identities_controller.rb +3 -1
- data/test/dummy/app/controllers/mindmap_editor_controller.rb +74 -0
- data/test/dummy/app/controllers/notes_controller.rb +25 -27
- data/test/dummy/app/controllers/password_resets_controller.rb +16 -18
- data/test/dummy/app/controllers/sessions_controller.rb +13 -14
- data/test/dummy/app/controllers/sitemap_controller.rb +4 -4
- data/test/dummy/app/controllers/users_controller.rb +14 -14
- data/test/dummy/app/helpers/admins_helper.rb +2 -0
- data/test/dummy/app/helpers/application_helper.rb +21 -20
- data/test/dummy/app/helpers/articles_helper.rb +2 -0
- data/test/dummy/app/helpers/basic_helper.rb +2 -0
- data/test/dummy/app/helpers/comments_helper.rb +2 -0
- data/test/dummy/app/helpers/ctrs_helper.rb +2 -0
- data/test/dummy/app/helpers/devs_helper.rb +2 -0
- data/test/dummy/app/helpers/mindmap_editor_helper.rb +3 -0
- data/test/dummy/app/helpers/pictures_helper.rb +2 -0
- data/test/dummy/app/helpers/sitemap_helper.rb +2 -0
- data/test/dummy/app/helpers/users_helper.rb +2 -0
- data/test/dummy/app/jinda/index.mm +384 -486
- data/test/dummy/app/jinda/template/index.mm +1 -0
- data/test/dummy/app/mailers/application_mailer.rb +2 -2
- data/test/dummy/app/mailers/application_mailer.rb-org +4 -0
- data/test/dummy/app/mailers/jinda_mailer.rb +5 -3
- data/test/dummy/app/mailers/note_mailer.rb +6 -4
- data/test/dummy/app/mailers/user_mailer.rb +5 -5
- data/test/dummy/app/models/address.rb +2 -0
- data/test/dummy/app/models/article.rb +2 -0
- data/test/dummy/app/models/comment.rb +3 -2
- data/test/dummy/app/models/identity.rb +11 -10
- data/test/dummy/app/models/jinda/doc.rb +36 -33
- data/test/dummy/app/models/jinda/jinda_module.rb +15 -0
- data/test/dummy/app/models/jinda/module.rb +14 -10
- data/test/dummy/app/models/jinda/notice.rb +15 -11
- data/test/dummy/app/models/jinda/role.rb +11 -7
- data/test/dummy/app/models/jinda/runseq.rb +23 -20
- data/test/dummy/app/models/jinda/service.rb +19 -15
- data/test/dummy/app/models/jinda/xmain.rb +42 -36
- data/test/dummy/app/models/note.rb +3 -8
- data/test/dummy/app/models/param.rb +23 -20
- data/test/dummy/app/models/person.rb +2 -0
- data/test/dummy/app/models/picture.rb +11 -0
- data/test/dummy/app/models/user.rb +42 -41
- data/test/dummy/app/views/admins/index.haml +21 -0
- data/test/dummy/app/views/api/v1/notes/delete/select_note.html.erb +21 -0
- data/test/dummy/app/views/api/v1/notes/edit/edit_note.html.erb +21 -0
- data/test/dummy/app/views/api/v1/notes/index.haml +21 -0
- data/test/dummy/app/views/api/v1/notes/new/new_note.html.erb +21 -0
- data/test/dummy/app/views/articles/show.html.haml +2 -2
- data/test/dummy/app/views/devs/index.haml +21 -0
- data/test/dummy/app/views/jinda/feed.rss.builder +15 -13
- data/test/dummy/app/views/jinda/index.html.haml +3 -2
- data/test/dummy/app/views/layouts/application.haml +2 -2
- data/test/dummy/app/views/mindmap_editor/edit.html.haml +126 -0
- data/test/dummy/app/views/mindmap_editor/save.html.haml +2 -0
- data/test/dummy/bin/docker-entrypoint +3 -0
- data/test/dummy/bin/lint_modified +21 -0
- data/test/dummy/bin/setup +1 -1
- data/test/dummy/config/application.rb +7 -2
- data/test/dummy/config/boot.rb +2 -1
- data/test/dummy/config/cable.yml +1 -1
- data/test/dummy/config/credentials.yml.enc +1 -1
- data/test/dummy/config/environments/development.rb +7 -1
- data/test/dummy/config/environments/production.rb +30 -26
- data/test/dummy/config/environments/test.rb +12 -8
- data/test/dummy/config/initializers/content_security_policy.rb +2 -2
- data/test/dummy/config/initializers/filter_parameter_logging.rb +3 -3
- data/test/dummy/config/initializers/mindmap_converter.rb +5 -0
- data/test/dummy/config/initializers/mongoid.rb +24 -9
- data/test/dummy/config/initializers/omniauth.rb +5 -0
- data/test/dummy/config/initializers/permissions_policy.rb +11 -9
- data/test/dummy/config/locales/en.yml +11 -13
- data/test/dummy/config/mongoid.yml +172 -53
- data/test/dummy/config/mongoid.yml-docker +3 -3
- data/test/dummy/config/mongoid.yml-localhost +3 -3
- data/test/dummy/config/puma.rb +21 -20
- data/test/dummy/config/routes.rb +7 -1
- data/test/dummy/docker-compose-mongodb.yml +13 -0
- data/test/dummy/docker-compose-web.yml +36 -0
- data/test/dummy/docker-compose.yml +10 -18
- data/test/dummy/log/development.log +5834 -2261
- data/test/dummy/spec/controllers/api/v1_get_index_spec.rb +15 -14
- data/test/dummy/spec/controllers/api/v1_get_my_spec.rb +9 -4
- data/test/dummy/spec/controllers/api/v1_post_spec.rb +4 -3
- data/test/dummy/spec/controllers/sessions_controller_spec.rb +82 -90
- data/test/dummy/spec/factories/pictures.rb +5 -0
- data/test/dummy/spec/features/userlogins_spec.rb +12 -15
- data/test/dummy/spec/mailers/note_spec.rb +5 -8
- data/test/dummy/spec/mailers/previews/note_preview.rb +3 -5
- data/test/dummy/spec/models/note_spec.rb +36 -35
- data/test/dummy/spec/models/picture_spec.rb +5 -0
- data/test/dummy/spec/models/user_spec.rb +10 -8
- data/test/dummy/spec/rails_helper.rb +29 -31
- data/test/dummy/spec/requests/ctrs_spec.rb +7 -0
- data/test/dummy/spec/requests/devs_spec.rb +7 -0
- data/test/dummy/spec/spec_helper.rb +19 -17
- data/test/dummy/spec/support/authentication_helper.rb +8 -7
- data/test/dummy/spec/support/databasecleaner.rb +3 -1
- data/test/dummy/spec/support/factory_bot.rb +7 -5
- data/test/dummy/spec/support/omniauth_macros.rb +14 -19
- data/test/dummy/spec/support/request_spec_helper.rb +3 -1
- data/test/dummy/spec/views/articles/_article.html.erb_spec.rbx +9 -8
- data/test/generated_app_test.rb +261 -0
- data/test/installation_test.rb +368 -0
- data/test/integration_test.rb +398 -0
- data/test/jenkins_stage_test.rb +182 -0
- data/test/note_model_test.rb +224 -0
- data/test/note_validation_integration_test.rb +292 -0
- data/test/run_unit_tests.sh +91 -0
- data/test/test_helper.rb +8 -16
- metadata +188 -60
- data/lib/generators/jinda/templates/app/assets/stylesheets/application.css.scss +0 -15
- data/lib/generators/jinda/templates/app/controllers/jinda_org/password_resets.rb +0 -28
- data/lib/generators/jinda/templates/app/views/layouts/_head.html.erb +0 -10
- data/lib/generators/jinda/templates/app/views/layouts/_meta_tag.html.erb +0 -19
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_footer.haml +0 -7
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_header.haml +0 -147
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_menu.haml +0 -47
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_menu_mm.haml +0 -34
- data/lib/generators/jinda/templates/app/views/layouts/bsb/_sidebar.haml +0 -155
- data/lib/generators/jinda/templates/app/views/layouts/bsb/application.haml-bsb +0 -47
- data/lib/generators/jinda/templates/app/views/layouts/gmail.html.erb +0 -9
- data/lib/generators/jinda/templates/app/views/layouts/jqm/_full.haml +0 -33
- data/lib/generators/jinda/templates/app/views/layouts/jqm/_page.haml +0 -16
- data/lib/generators/jinda/templates/app/views/layouts/jqm/application.haml-jqm +0 -4
- data/lib/generators/jinda/templates/app/views/layouts/mailer.html.erb +0 -13
- data/lib/generators/jinda/templates/app/views/layouts/mailer.html.haml +0 -3
- data/lib/generators/jinda/templates/app/views/layouts/mailer.text.erb +0 -1
- data/lib/generators/jinda/templates/app/views/layouts/mailer.text.haml +0 -1
- data/lib/generators/jinda/templates/app/views/layouts/mobile.html.erb +0 -13
- data/lib/generators/jinda/templates/app/views/layouts/mobilejq.html.erb +0 -31
- data/lib/generators/jinda/templates/app/views/layouts/print.html.erb +0 -22
- data/lib/generators/jinda/templates/app/views/layouts/utf8.html.erb +0 -22
- data/lib/generators/jinda/templates/config/initializers/fix_mongoid_generator.rb-org +0 -14
- data/test/dummy/Guardfile +0 -96
- data/test/dummy/app/controllers/application_controller.rb.bak +0 -2
- data/test/dummy/app/controllers/password_resets.rb +0 -28
- data/test/dummy/app/helpers/application_helper.rb.bak +0 -2
- data/test/dummy/app/views/identities/new-bak.html.haml +0 -32
- data/test/dummy/app/views/layouts/application.haml.bak +0 -4
- data/test/dummy/app/views/layouts/application.html.erb.bak +0 -15
- data/test/dummy/app/views/layouts/lte/_header.haml +0 -111
- data/test/dummy/app/views/layouts/lte/_rightbar.haml +0 -123
- data/test/dummy/app/views/sessions/new-bak.html.haml +0 -22
- data/test/dummy/config/initializers/fix_mongoid_generator.rb-org +0 -14
- data/test/dummy/tmp/development_secret.txt +0 -1
- data/test/integration/navigation_test.rb +0 -7
- data/test/jinda_test.rb +0 -7
- /data/{test/dummy → lib/generators/jinda/templates}/app/assets/stylesheets/application.scss +0 -0
- /data/{test/dummy → lib/generators/jinda/templates}/app/assets/stylesheets/jinda.scss +0 -0
- /data/lib/generators/jinda/templates/app/mailers/{application_mailer.rb → application_mailer.rb-org} +0 -0
- /data/{test/dummy → lib/generators/jinda/templates}/app/views/adminltes/dashboard1.haml +0 -0
- /data/{test/dummy → lib/generators/jinda/templates}/app/views/adminltes/dashboard2.haml +0 -0
- /data/{test/dummy → lib/generators/jinda/templates}/app/views/layouts/lte/_flash.haml +0 -0
- /data/{test/dummy → lib/generators/jinda/templates}/app/views/layouts/lte/_footer.haml +0 -0
- /data/{test/dummy → lib/generators/jinda/templates}/app/views/layouts/lte/_menu.haml +0 -0
- /data/{test/dummy → lib/generators/jinda/templates}/app/views/layouts/lte/_menu_mm.haml +0 -0
- /data/lib/generators/jinda/templates/app/views/layouts/{bsb → lte}/_rightbar.haml +0 -0
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
# Docker Setup for Jinda Application
|
|
2
|
+
|
|
3
|
+
This document explains the Docker configuration files and how to use them for development and deployment.
|
|
4
|
+
|
|
5
|
+
## Docker Files Overview
|
|
6
|
+
|
|
7
|
+
Your Jinda application includes several Docker configuration files:
|
|
8
|
+
|
|
9
|
+
### 1. `Dockerfile`
|
|
10
|
+
- **Purpose**: Builds the Rails application container
|
|
11
|
+
- **Usage**: Used with `docker-compose-web.yml` for full stack deployment
|
|
12
|
+
- **What it does**:
|
|
13
|
+
- Sets up Ruby 3.3.0 environment
|
|
14
|
+
- Installs dependencies from Gemfile
|
|
15
|
+
- Copies entire application
|
|
16
|
+
- Configures Rails server on port 3000
|
|
17
|
+
|
|
18
|
+
### 2. `docker-compose-mongodb.yml` (Recommended for Development)
|
|
19
|
+
- **Purpose**: MongoDB only on standard port
|
|
20
|
+
- **Best for**: Local development, CI/CD testing
|
|
21
|
+
- **Port**: 27017 (standard MongoDB port)
|
|
22
|
+
- **Usage**:
|
|
23
|
+
```bash
|
|
24
|
+
docker compose -f docker-compose-mongodb.yml up -d
|
|
25
|
+
```
|
|
26
|
+
- **Why use this**:
|
|
27
|
+
- Minimal setup
|
|
28
|
+
- Run Rails app locally with `rails server`
|
|
29
|
+
- Works with standard MongoDB tools
|
|
30
|
+
- No volume mount configuration needed
|
|
31
|
+
|
|
32
|
+
### 3. `docker-compose.yml`
|
|
33
|
+
- **Purpose**: Simple MongoDB container
|
|
34
|
+
- **Port**: 27017 (standard MongoDB port)
|
|
35
|
+
- **Usage**:
|
|
36
|
+
```bash
|
|
37
|
+
docker compose up -d
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### 4. `docker-compose-web.yml`
|
|
41
|
+
- **Purpose**: Full stack with web app and MongoDB in containers
|
|
42
|
+
- **Best for**: Production-like environment, full containerized development
|
|
43
|
+
- **Ports**:
|
|
44
|
+
- Rails: 3000
|
|
45
|
+
- MongoDB: 27017
|
|
46
|
+
- **Important**: Edit this file before using for development with local gem modifications
|
|
47
|
+
- **Usage**:
|
|
48
|
+
```bash
|
|
49
|
+
docker compose -f docker-compose-web.yml up -d
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Getting Started
|
|
53
|
+
|
|
54
|
+
### Option A: MongoDB Only (Recommended)
|
|
55
|
+
|
|
56
|
+
This is the simplest approach for development:
|
|
57
|
+
|
|
58
|
+
1. **Start MongoDB**:
|
|
59
|
+
```bash
|
|
60
|
+
docker compose -f docker-compose-mongodb.yml up -d
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
2. **Verify MongoDB is running**:
|
|
64
|
+
```bash
|
|
65
|
+
docker ps
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
3. **Run your Rails app locally**:
|
|
69
|
+
```bash
|
|
70
|
+
bundle install
|
|
71
|
+
rails jinda:seed
|
|
72
|
+
rails server
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
4. **Stop MongoDB when done**:
|
|
76
|
+
```bash
|
|
77
|
+
docker compose -f docker-compose-mongodb.yml down
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Option B: Full Stack (Web + MongoDB)
|
|
81
|
+
|
|
82
|
+
Use this for containerized development or testing:
|
|
83
|
+
|
|
84
|
+
1. **Edit `docker-compose-web.yml`** (optional, for local gem development):
|
|
85
|
+
```yaml
|
|
86
|
+
services:
|
|
87
|
+
web:
|
|
88
|
+
volumes:
|
|
89
|
+
- .:/myapp
|
|
90
|
+
# Add your local gem paths:
|
|
91
|
+
- ~/mygem/jinda:/path/to/local/jinda
|
|
92
|
+
- ~/mygem/jinda_adminlte:/path/to/local/jinda_adminlte
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
2. **Start full stack**:
|
|
96
|
+
```bash
|
|
97
|
+
docker compose -f docker-compose-web.yml up -d
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
3. **View logs**:
|
|
101
|
+
```bash
|
|
102
|
+
docker compose -f docker-compose-web.yml logs -f web
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
4. **Access application**:
|
|
106
|
+
- Web: http://localhost:3000
|
|
107
|
+
- MongoDB: localhost:27017
|
|
108
|
+
|
|
109
|
+
5. **Stop services**:
|
|
110
|
+
```bash
|
|
111
|
+
docker compose -f docker-compose-web.yml down
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## MongoDB Port Information
|
|
115
|
+
|
|
116
|
+
All Docker configurations use the **standard MongoDB port 27017**:
|
|
117
|
+
- Consistent with MongoDB defaults
|
|
118
|
+
- Works with standard MongoDB clients
|
|
119
|
+
- Compatible with CI/CD systems
|
|
120
|
+
- No special configuration needed in mongoid.yml
|
|
121
|
+
|
|
122
|
+
## For CI/CD
|
|
123
|
+
|
|
124
|
+
Your CI pipeline should use `docker-compose-mongodb.yml`:
|
|
125
|
+
|
|
126
|
+
```yaml
|
|
127
|
+
# GitHub Actions example
|
|
128
|
+
services:
|
|
129
|
+
mongodb:
|
|
130
|
+
image: mongo:latest
|
|
131
|
+
ports:
|
|
132
|
+
- 27017:27017
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Then run tests with:
|
|
136
|
+
```bash
|
|
137
|
+
MONGODB_PORT=27017 rake test
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Troubleshooting
|
|
141
|
+
|
|
142
|
+
### Port Already in Use
|
|
143
|
+
If port 27017 is already in use:
|
|
144
|
+
```bash
|
|
145
|
+
# Check what's using the port
|
|
146
|
+
lsof -i :27017
|
|
147
|
+
|
|
148
|
+
# If it's an old container
|
|
149
|
+
docker ps -a | grep mongo
|
|
150
|
+
docker stop <container_name>
|
|
151
|
+
docker rm <container_name>
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Cannot Connect to MongoDB
|
|
155
|
+
1. Verify MongoDB is running:
|
|
156
|
+
```bash
|
|
157
|
+
docker ps | grep mongo
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
2. Check logs:
|
|
161
|
+
```bash
|
|
162
|
+
docker logs <container_name>
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
3. Test connection:
|
|
166
|
+
```bash
|
|
167
|
+
mongosh mongodb://localhost:27017
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### Volume Data Persistence
|
|
171
|
+
To remove all data and start fresh:
|
|
172
|
+
```bash
|
|
173
|
+
docker compose -f docker-compose-mongodb.yml down -v
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## Best Practices
|
|
177
|
+
|
|
178
|
+
1. **Development**: Use `docker-compose-mongodb.yml` and run Rails locally
|
|
179
|
+
2. **Testing**: Use MongoDB-only containers with standard port 27017
|
|
180
|
+
3. **Production**: Use appropriate production Docker configurations (not these dev files)
|
|
181
|
+
4. **Local Gem Development**: Edit `docker-compose-web.yml` volume mounts as needed
|
|
182
|
+
5. **CI/CD**: Always use standard port 27017 for consistency
|
|
183
|
+
|
|
184
|
+
## Additional Resources
|
|
185
|
+
|
|
186
|
+
- [Docker Compose Documentation](https://docs.docker.com/compose/)
|
|
187
|
+
- [MongoDB Docker Hub](https://hub.docker.com/_/mongo)
|
|
188
|
+
- [Jinda Documentation](https://github.com/kul1/jinda)
|
data/test/dummy/Dockerfile
CHANGED
|
@@ -1,16 +1,24 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
3
|
-
|
|
1
|
+
# Dockerfile for Jinda Rails Application
|
|
2
|
+
# This Dockerfile is used with docker-compose-web.yml for full stack deployment
|
|
3
|
+
# It copies the entire application and sets up the web container
|
|
4
|
+
# For CI/testing, use docker-compose-mongodb.yml for MongoDB only
|
|
5
|
+
# Reference: https://docs.docker.com/compose/rails/
|
|
6
|
+
|
|
7
|
+
FROM ruby:3.3.0
|
|
4
8
|
RUN apt-get update -qq
|
|
5
9
|
RUN mkdir /myapp
|
|
6
10
|
WORKDIR /myapp
|
|
11
|
+
|
|
12
|
+
# Copy dependency files first for better layer caching
|
|
7
13
|
COPY Gemfile /myapp/Gemfile
|
|
8
14
|
COPY Gemfile.lock /myapp/Gemfile.lock
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
15
|
+
COPY vendor /myapp/vendor
|
|
16
|
+
|
|
17
|
+
# Install bundler and dependencies
|
|
18
|
+
RUN gem install bundler:2.4.10
|
|
13
19
|
RUN bundle install
|
|
20
|
+
|
|
21
|
+
# Copy entire application (for full deployment)
|
|
14
22
|
COPY . /myapp
|
|
15
23
|
|
|
16
24
|
# Set Rails environment to production
|
data/test/dummy/Gemfile
CHANGED
|
@@ -1,22 +1,30 @@
|
|
|
1
1
|
source "https://rubygems.org"
|
|
2
|
-
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|
|
3
2
|
|
|
4
|
-
ruby "3.
|
|
3
|
+
ruby "3.3.0"
|
|
5
4
|
|
|
6
5
|
# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
|
|
7
|
-
gem "rails", "~> 7.
|
|
6
|
+
gem "rails", "~> 7.1.6"
|
|
8
7
|
|
|
9
8
|
# The original asset pipeline for Rails [https://github.com/rails/sprockets-rails]
|
|
10
9
|
gem "sprockets-rails"
|
|
11
10
|
|
|
12
11
|
# Use the Puma web server [https://github.com/puma/puma]
|
|
13
|
-
gem "puma", "
|
|
12
|
+
gem "puma", ">= 5.0"
|
|
13
|
+
|
|
14
|
+
# Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails]
|
|
15
|
+
gem "importmap-rails"
|
|
16
|
+
|
|
17
|
+
# Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev]
|
|
18
|
+
gem "turbo-rails"
|
|
19
|
+
|
|
20
|
+
# Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev]
|
|
21
|
+
gem "stimulus-rails"
|
|
14
22
|
|
|
15
23
|
# Build JSON APIs with ease [https://github.com/rails/jbuilder]
|
|
16
24
|
gem "jbuilder"
|
|
17
25
|
|
|
18
26
|
# Use Redis adapter to run Action Cable in production
|
|
19
|
-
# gem "redis", "
|
|
27
|
+
# gem "redis", ">= 4.0.1"
|
|
20
28
|
|
|
21
29
|
# Use Kredis to get higher-level data types in Redis [https://github.com/rails/kredis]
|
|
22
30
|
# gem "kredis"
|
|
@@ -25,17 +33,14 @@ gem "jbuilder"
|
|
|
25
33
|
# gem "bcrypt", "~> 3.1.7"
|
|
26
34
|
|
|
27
35
|
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
|
|
28
|
-
gem "tzinfo-data", platforms: %i[
|
|
36
|
+
gem "tzinfo-data", platforms: %i[ windows jruby ]
|
|
29
37
|
|
|
30
38
|
# Reduces boot times through caching; required in config/boot.rb
|
|
31
39
|
gem "bootsnap", require: false
|
|
32
40
|
|
|
33
|
-
# Use Sass to process CSS
|
|
34
|
-
# gem "sassc-rails"
|
|
35
|
-
|
|
36
41
|
group :development, :test do
|
|
37
42
|
# See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem
|
|
38
|
-
gem "debug", platforms: %i[ mri
|
|
43
|
+
gem "debug", platforms: %i[ mri windows ]
|
|
39
44
|
end
|
|
40
45
|
|
|
41
46
|
group :development do
|
|
@@ -48,11 +53,10 @@ group :development do
|
|
|
48
53
|
# Speed up commands on slow machines / big apps [https://github.com/rails/spring]
|
|
49
54
|
# gem "spring"
|
|
50
55
|
end
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
gem
|
|
54
|
-
gem "
|
|
55
|
-
gem "bson", "4.4.2"
|
|
56
|
+
|
|
57
|
+
gem 'jinda', path: '/Users/kul/mygem/jinda'
|
|
58
|
+
gem 'jinda_adminlte', path: '/Users/kul/mygem/jinda_adminlte'
|
|
59
|
+
gem "bson", "~> 4.15"
|
|
56
60
|
gem "maruku", "~> 0.7.3"
|
|
57
61
|
gem "bcrypt"
|
|
58
62
|
gem "rouge"
|
|
@@ -61,23 +65,27 @@ gem "font-awesome-rails"
|
|
|
61
65
|
gem "font-awesome-sass", "~> 5.12.0"
|
|
62
66
|
gem "meta-tags"
|
|
63
67
|
gem "jquery-turbolinks", "2.1.0"
|
|
64
|
-
gem "mongo", "2.
|
|
68
|
+
gem "mongo", "~> 2.19"
|
|
65
69
|
gem "turbolinks_render"
|
|
66
70
|
gem "haml-rails", "~> 2.0.1"
|
|
71
|
+
gem "haml", "~> 5.1"
|
|
72
|
+
gem "mail"
|
|
67
73
|
gem "prawn"
|
|
68
74
|
gem "redcarpet"
|
|
69
|
-
gem "oauth2", "
|
|
70
|
-
gem "omniauth", "
|
|
71
|
-
gem "omniauth-oauth2", "1.
|
|
72
|
-
gem "omniauth-identity", "~>
|
|
73
|
-
gem "omniauth-facebook", "
|
|
74
|
-
gem "omniauth-google-oauth2", "
|
|
75
|
+
gem "oauth2", "~> 2.0"
|
|
76
|
+
gem "omniauth", "~> 2.0"
|
|
77
|
+
gem "omniauth-oauth2", "~> 1.8"
|
|
78
|
+
gem "omniauth-identity", "~> 3.1"
|
|
79
|
+
gem "omniauth-facebook", "10.0.0"
|
|
80
|
+
gem "omniauth-google-oauth2", "~> 1.1"
|
|
75
81
|
gem "dotenv-rails"
|
|
76
|
-
gem "cloudinary", "1.13
|
|
77
|
-
gem "kaminari", "1.2
|
|
78
|
-
gem "jquery-rails", "4.3
|
|
82
|
+
gem "cloudinary", "~> 1.13"
|
|
83
|
+
gem "kaminari", "~> 1.2"
|
|
84
|
+
gem "jquery-rails", "~> 4.3"
|
|
79
85
|
gem "mongoid"
|
|
80
|
-
gem "rexml", "~> 3.2
|
|
86
|
+
gem "rexml", "~> 3.2"
|
|
87
|
+
gem "mongoid-paperclip", require: "mongoid_paperclip"
|
|
88
|
+
gem "kaminari-mongoid", "~> 1.0"
|
|
81
89
|
|
|
82
90
|
group :development, :test do
|
|
83
91
|
gem "shoulda"
|
|
@@ -96,7 +104,8 @@ group :development, :test do
|
|
|
96
104
|
gem "rb-fsevent"
|
|
97
105
|
gem "valid_attribute"
|
|
98
106
|
gem "faker"
|
|
107
|
+
gem "rubocop"
|
|
108
|
+
gem "rubocop-rails"
|
|
109
|
+
gem "rubocop-performance"
|
|
110
|
+
gem "rubocop-minitest"
|
|
99
111
|
end
|
|
100
|
-
gem "mongoid-paperclip", require: "mongoid_paperclip"
|
|
101
|
-
gem "kaminari-mongoid", "1.0.1"
|
|
102
|
-
gem 'rspec_junit_formatter'
|