{"id":15583062,"url":"https://github.com/tanhongit/samuraicrm","last_synced_at":"2025-10-13T22:33:38.728Z","repository":{"id":40014019,"uuid":"281328531","full_name":"tanhongit/SamuraiCRM","owner":"tanhongit","description":"Build a Modular Engines Application with Rails 6, Rails 5. You can try it at https://railssamuraicrm.herokuapp.com","archived":false,"fork":false,"pushed_at":"2023-01-20T08:47:01.000Z","size":848,"stargazers_count":5,"open_issues_count":82,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-13T22:33:38.363Z","etag":null,"topics":["engines","modular","modular-rails","modular-rails-application","rails","rails-crm","rails-engine","ruby","samurai-crm","samurai-crm-rails-6","samuraicrm","tanhongit-rails"],"latest_commit_sha":null,"homepage":"https://railssamuraicrm.herokuapp.com/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tanhongit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null}},"created_at":"2020-07-21T07:34:31.000Z","updated_at":"2025-02-03T05:59:33.000Z","dependencies_parsed_at":"2023-02-06T06:31:46.157Z","dependency_job_id":null,"html_url":"https://github.com/tanhongit/SamuraiCRM","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/tanhongit/SamuraiCRM","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tanhongit%2FSamuraiCRM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tanhongit%2FSamuraiCRM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tanhongit%2FSamuraiCRM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tanhongit%2FSamuraiCRM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tanhongit","download_url":"https://codeload.github.com/tanhongit/SamuraiCRM/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tanhongit%2FSamuraiCRM/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279017149,"owners_count":26085983,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["engines","modular","modular-rails","modular-rails-application","rails","rails-crm","rails-engine","ruby","samurai-crm","samurai-crm-rails-6","samuraicrm","tanhongit-rails"],"created_at":"2024-10-02T20:04:30.076Z","updated_at":"2025-10-13T22:33:38.682Z","avatar_url":"https://github.com/tanhongit.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Welcome to SamuraiCRM Rails 6 by TANHONGIT\n\nIt’s not super long but comes with a lot of ‘underground’ information about engines. If you’re\nabout to write a modular application, then you should definitely read it.\n\nThe goal is to teach you how to build your own modules and at the end of the road, create\ncomplete modular applications.\n\nModular applications offer a different way to work on your application. Since you're focusing on building small reusable components instead of one big application, adding or removing features become easier.\n\nBy having a set of components, we could have multiple applications sharing some features but also having their own specificities.\n\n# Demo\n\nYou can try it at https://railssamuraicrm.herokuapp.com/\n\n\u003e **_Account login on Backend_**\n\n```\nuser :\n    username: phuongtan12357nguyen@gmail.com     | password: 123456\n```\n\n# 1. Technology\n- Ruby on Rails\n\n# 2. Configuration requirements\nWe are going to build the web application using:\n- Rails 6.0.3.3\n- Ruby 2.7.1\n\n# 3. Feature\n\n```\n1. Login, Logout, register\n2. User manager\n3. Create contact for user\n4. Contact manager \n5. Task manager \n```\n\n# 4. Runing\n\n### 4.1. Clone Repo\n\n```\n$ git clone https://github.com/TanHongIT/SamuraiCRM\n$ cd SamuraiCRM\n```\n\n### 4.2. Bundle Install \n\n```\n$ bundle install\n```\n\n### 4.3. Yarn Install \n\n```\n$ yarn install\n```\n\n### 4.4. Create database with Postgresql\n\nYou must change the appropriate database configuration\n\nChange configuration at _\"**config/database.yml**\"_ with Postgresql.\n\n```ruby\ndefault: \u0026default\n  adapter: postgresql\n  pool: \u003c%= ENV.fetch(\"RAILS_MAX_THREADS\") { 5 } %\u003e\n  timeout: 5000\n  username: rails6_samurai_crm\n  password: 1974\n  host: localhost\n\n# tutorial for ubuntu linux:\n# sudo -u postgres psql\n# create user \"rails6_samurai_crm\" with password '1974';  \n# create database \"rails6_samurai_crm\" owner \"rails6_samurai_crm\"; \n\ndevelopment:\n  \u003c\u003c: *default\n  database: rails6_samurai_crm\n\n# Warning: The database defined as \"test\" will be erased and\n# re-generated from your development database when you run \"rake\".\n# Do not set this db to the same as development or production.\ntest:\n  \u003c\u003c: *default\n  database: rails6_samurai_crm_test\n\nproduction:\n  \u003c\u003c: *default\n  database: rails6_samurai_crm_production\n```\n\nYou must change the **username, password and database name** accordingly!\n\n### 4.5. run rails db:migrate\n\n```\n$ rails db:migrate\n```\n\nAfter running the above command, if you get an error: \"**LoadError: cannot load such file -- autoprefixer-rails**\", try running the install command below in the console screen:\n\n```\n$ gem install autoprefixer-rails\n```\n\nThen run the \"**rails db:migrate**\" command again.\n\n\n### 4.6. Run server \n\n```\n$ rails s\n```\n\nNow, go to http://localhost:3000/\n\n### 4.6. Create new user\n\nhttp://localhost:3000/users/sign_up and create a new user account.\n\n### 4.6. Set the user to admin\n\nOpen new terminal and run:\n\n```\n$ rails c\n```\n\nPaste this command line and run\n\n```\nSamurai::User.first.update_column :admin, true\n```\n\nNow go to http://localhost:3000/admin and login your account.\n\n_**See also:**_ Samurai version using **rails 5.1.7** in combination with **ruby ​​2.6.3**: [SamuraiCRM_ruby2_6_3_rails5_1_7](https://github.com/TanHongIT/SamuraiCRM/tree/master/SamuraiCRM_ruby2_6_3_rails5_1_7)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftanhongit%2Fsamuraicrm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftanhongit%2Fsamuraicrm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftanhongit%2Fsamuraicrm/lists"}