{"id":13819220,"url":"https://github.com/kubilaycaglayan/coffee","last_synced_at":"2026-02-26T11:26:44.717Z","repository":{"id":38291841,"uuid":"298580529","full_name":"kubilaycaglayan/coffee","owner":"kubilaycaglayan","description":"☕ Choose your favorite coffee beans.","archived":false,"fork":false,"pushed_at":"2025-02-15T08:58:13.000Z","size":11131,"stargazers_count":15,"open_issues_count":21,"forks_count":0,"subscribers_count":0,"default_branch":"development","last_synced_at":"2025-05-16T04:35:56.446Z","etag":null,"topics":["rails","react","redux"],"latest_commit_sha":null,"homepage":"https://coffee-kubilay.herokuapp.com/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kubilaycaglayan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-09-25T13:28:03.000Z","updated_at":"2025-04-09T10:16:54.000Z","dependencies_parsed_at":"2024-10-23T20:06:25.588Z","dependency_job_id":"68c1bafc-be33-43fa-ac8f-a4b9db6a5dbc","html_url":"https://github.com/kubilaycaglayan/coffee","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"kubilaycaglayan/rails-react-template","purl":"pkg:github/kubilaycaglayan/coffee","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubilaycaglayan%2Fcoffee","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubilaycaglayan%2Fcoffee/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubilaycaglayan%2Fcoffee/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubilaycaglayan%2Fcoffee/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kubilaycaglayan","download_url":"https://codeload.github.com/kubilaycaglayan/coffee/tar.gz/refs/heads/development","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubilaycaglayan%2Fcoffee/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29857301,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T08:51:08.701Z","status":"ssl_error","status_checked_at":"2026-02-26T08:50:19.607Z","response_time":89,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["rails","react","redux"],"created_at":"2024-08-04T08:00:42.563Z","updated_at":"2026-02-26T11:26:44.684Z","avatar_url":"https://github.com/kubilaycaglayan.png","language":"Ruby","funding_links":[],"categories":["Happy Exploring 🤘"],"sub_categories":[],"readme":"# ☕ COFFEE BEANS\n\n#### Project Description: \"Find Your House\"\n#### React Directory: [./app/javascript/packs](https://github.com/kubilaycaglayan/coffee/tree/coffee/app/javascript/packs)\n#### 💡 This is a Rails-React hybrid repository. For the Front-End of the application, Rails only rendering one empty view([app/views/pages/index.html.erb](https://github.com/kubilaycaglayan/coffee/blob/coffee/app/views/pages/index.html.erb)) with the [default layout](https://github.com/kubilaycaglayan/coffee/blob/coffee/app/views/layouts/application.html.erb). In the default layout we have `javascript_pack_tag` which is rendering the react scripts. After this initial response from rails, all the interactions are made with API calls([app/javascript/packs/src/API](https://github.com/kubilaycaglayan/coffee/tree/coffee/app/javascript/packs/src/API)) with Backend via React. There is no other full-page response other than the first one.\n\n### ➡️ Features\n\n\u003e ☕ Browse through a list of coffee beans.\n\n\u003e ⭐ You can add new coffee beans and put them in your favorite list.\n\n\u003e 🔒 Also you can create your own account to secure your favorite list.\n\n\n- [Jump To: How To Use Locally](#usage-local)\n- [Jump To: Tests](#tests)\n- [Jump To: Nice To Have Requirements](#extras)\n- [Jump To: Future Features](#futurefeatures)\n- [Jump To: Contributing](#contributing)\n- [Jump To: Acknowledgements](#acknowledgments)\n\n## Live Demo\n\n[Live Demo Link](https://coffee-kubilay.herokuapp.com/)\n\n\n## Screenshots\n\u003cp align=\"center\"\u003e\n  \u003cimg\n    height=300\n    src=\"./public/images/screenshot-single-coffee.png\"\n  /\u003e\n  \u003cimg\n    height=300\n    src=\"./public/images/screenshot-create.png\"\n  /\u003e\n  \u003cimg\n    height=300\n    src=\"./public/images/screenshot-favorites.png\"\n  /\u003e\n  \u003cimg\n    height=300\n    src=\"./public/images/screenshot-create-user.png\"\n  /\u003e\n  \u003cimg\n    height=300\n    src=\"./public/images/screenshot-menu.png\"\n  /\u003e\n\u003c/p\u003e\n\n## Built With\n\n- Rails\n- React\n- Redux\n- Jest\n- RSpec\n\n## ⭐ Getting Started ⭐\n\n### Prerequisites\n- A modern browser, up to date.\n- Node.js, if you are going to use it in the local environment.\n- A text editor.\n\n### Setup\n##### First clone the repository(in Terminal):\n- Clone the repository: `git clone https://github.com/kubilaycaglayan/coffee.git`\n- Enter the project directory: `cd coffee`\n- Checkout to current the working branch `git checkout coffee`\n- Run npm to install the dependencies `npm install`\n- Run bundle to install the dependencies `bundle`\n- Initialize the database with these set of commands `rails db:create \u0026\u0026 rails db:migrate \u0026\u0026 rails db:seed`\n\n### \u003ch3 id='usage-local'\u003e🖥️ Running In The Local Environment\u003c/h3\u003e\n\nAfter setup:\n- Start the server `rails s`\n- You can visit the website by typing this to your browser: `http://localhost:3000/`\n\n### \u003ch3 id='tests'\u003e🧪 Automated Tests\u003c/h3\u003e\n\n\u003e There are two sets of tests for this project. One for Rails and one for React side.\n\nAfter setup:\n\n##### React Test (36)\n- Run tests with `npm test`, and then please push `a` to run all the tests.\n- Or, as an alternative to the above, you can directly run this command `npx jest`.\n- All the API methods, reducers and actions are tested. Also, containers and components which does not require login are also tested.\n\n##### Rails Test (51)\n- Run tests with `rspec`\n- All controller actions are tested with requests. Also model associations tested.\n\n### \u003ch3 id='extras'\u003eWhich \"Nice To Have Requirements\" I Have Added To My Project?\u003c/h3\u003e\n##### NTHR-1\n- Implement proper user authentication from the front-end to the server\n##### WHY\n\u003e I wanted to learn more about authentication relationships between rails and react, when we are not allowed to use rails views.\n\n##### NTHR-2\n- Create a user table in your database, so that a given user could only access the favourites they selected\n##### WHY\n\u003e I wanted to give my users a better experience. They can have their own isolated area in the website. They customize their favorites list. Also easily scalable to other features like sending text messages.\n\n##### NTHR-3\n- Create an admin panel to \u003cstrong\u003ecreate\u003c/strong\u003e /\u003cspan style=\"text-decoration: line-through;\"\u003eupdate\u003c/span\u003e / \u003cspan style=\"text-decoration: line-through;\"\u003edelete\u003c/span\u003e houses\n##### WHY\n\u003e I wanted to give my users a better experience. They can have create own coffees. This is not as an admin panel. Every logged in user can add a coffee to the system with an image.\n\n### \u003ch3 id='futurefeatures'\u003eFuture Features\u003c/h3\u003e\n\n- Users can delete the coffees.\n- Users update coffees.\n- Users can send text messages each other.\n\n## Author\n\n👤 **Kubilay Caglayan**\n\n- Website: [kubilay](https://kubilaycaglayan.com)\n- Github: [@kubilaycaglayan](https://github.com/kubilaycaglayan)\n- Twitter: [@kbcaglayan](https://twitter.com/kbcaglayan)\n- Linkedin: [linkedin](https://linkedin.com/in/kubilaycaglayan)\n\n## \u003ch3 id='contributing'\u003e🤝 Contributing\u003c/h3\u003e\n\nContributions, issues and feature requests are welcome!\n\nFeel free to check the [issues page](https://github.com/kubilaycaglayan/coffee/issues).\n\n## Show your support\n\nGive a ⭐️ if you like this project!\n\n## \u003ch3 id='acknowledgments'\u003eAcknowledgments\u003c/h3\u003e\n\n- Design idea by Alexey Savitskiy on Behance\n- [Burger Menu](http://negomi.github.io/react-burger-menu/)\n- [Carousel](https://react-slick.neostack.com/)\n\n#### Useful Commands\n\n- Open console in test environment\n\u003e `rails c -e test`\n\n- Start server in test environment\n\u003e `rails s -e test`\n\n- Reset test database\n\u003e `rails RAILS_ENV=test db:reset`\n\n- Seed test database\n\u003e `rails RAILS_ENV=test db:seed`\n\n- Show current database in rails console\n\u003e `ActiveRecord::Base.connection.current_database`","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubilaycaglayan%2Fcoffee","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkubilaycaglayan%2Fcoffee","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubilaycaglayan%2Fcoffee/lists"}