{"id":14955390,"url":"https://github.com/kazvee/jungle_rails","last_synced_at":"2026-03-09T14:32:06.718Z","repository":{"id":204042159,"uuid":"707536840","full_name":"kazvee/jungle_rails","owner":"kazvee","description":"🌿 Full-stack e-commerce app 📚 MVC pattern 🗺️ Active Record ORM 🔴 Ruby on 🚃 Rails 6.1 👢 Bootstrap frontend 📚 PostgreSQL database 🔒 Bcrypt password management 💸 Stripe for secure payments 🧪 Rspec \u0026 Cypress automated testing","archived":false,"fork":false,"pushed_at":"2024-08-26T17:54:07.000Z","size":46922,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-01T18:38:11.554Z","etag":null,"topics":["active-record","bootstrap","cypress","model-view-controller","mvc-pattern","postgresql","rails6","rspec","ruby-on-rails","scss","stripe"],"latest_commit_sha":null,"homepage":"","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/kazvee.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}},"created_at":"2023-10-20T05:50:10.000Z","updated_at":"2024-08-26T17:54:10.000Z","dependencies_parsed_at":"2024-09-24T13:23:08.393Z","dependency_job_id":null,"html_url":"https://github.com/kazvee/jungle_rails","commit_stats":{"total_commits":117,"total_committers":3,"mean_commits":39.0,"dds":"0.042735042735042694","last_synced_commit":"1318c5ec11f01592b11abe78ca8f5b036ad053fb"},"previous_names":["kazvee/jungle_rails"],"tags_count":0,"template":false,"template_full_name":"lighthouse-labs/jungle-rails","purl":"pkg:github/kazvee/jungle_rails","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kazvee%2Fjungle_rails","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kazvee%2Fjungle_rails/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kazvee%2Fjungle_rails/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kazvee%2Fjungle_rails/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kazvee","download_url":"https://codeload.github.com/kazvee/jungle_rails/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kazvee%2Fjungle_rails/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30299053,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T13:46:43.843Z","status":"ssl_error","status_checked_at":"2026-03-09T13:46:42.821Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["active-record","bootstrap","cypress","model-view-controller","mvc-pattern","postgresql","rails6","rspec","ruby-on-rails","scss","stripe"],"created_at":"2024-09-24T13:11:05.289Z","updated_at":"2026-03-09T14:32:06.679Z","avatar_url":"https://github.com/kazvee.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🪴 Jungle \n\nJungle is a a mini e-commerce application built with Rails 6.1. 🚂\\\nAdditional design enhancements have been integrated as project Stretch Features, to ensure a consistent user experience. 🌿\\\nUtilizes Rspec \u0026 Cypress automated testing to ensure and maintain code reliability and quality. 🧪\n\n## Final Product\n\n**Demo Video:**\n\nhttps://github.com/kazvee/jungle_rails/assets/109990289/fb683726-38d1-4fd8-8c28-53e3d05bbd8d\n\n**Video of Cypress test runner:**\n\nhttps://github.com/kazvee/jungle_rails/assets/109990289/a8287459-bcb7-4aa2-b2d9-46c282580f8c\n\n**Screenshot of Landing Page:**\n\n![Landing Page View](app/assets/images/readme/Landing_Page_Screenshot.png)\n\n**Screenshot of Stripe Payment Page:**  \n\n![Stripe Payment Page](app/assets/images/readme/Stripe_Payment_Screenshot.png)\n\n**Screenshot of Order Confirmation Page:**  \n\n![Order Confirmation Page](app/assets/images/readme/Order_Confirmation_Screenshot.png)\n\n**Screenshot of New Product Validation Page:**  \n\n![New Product Validation Page](app/assets/images/readme/New_Product_Validation_Screenshot.png)\n\n### Store Features\n\n**Our valued customers are the root of our growing business 🌱**\\\n**We are proud to offer *fern*tastic quality plants at blooming low prices 🌸**\\\n**Come visit today, we promise you won't leaf empty-handed 🌿**\n\nOur shop provides a smooth and visually consistent shopping experience for customers.\\\nWith a range of menus and filtering options, we invite our website guests to interact with and explore our range of beautiful plants.\n\nAdditionally, store Admins have access to login-protected menus, enabling them to efficiently manage store inventory and product categorisation.\n\n### User Section\n\n* **Landing Page**\n  - Offers a visually appealing overview of all products, with dynamic product stock availability badges\n\n* **Product Details**\n  - Provides detailed information and product specifications\n\n* **Categories Menu**\n  - Enables customers to browse through various categorized lists of products\n\n* **Products Menu**\n  - Discover the entire range of products offered at this store\n\n* **Checkout Page**\n  - Review shopping cart contents, make any adjustments, and proceed to order\n\n* **Order Summary**\n  - Receive a detailed summary of the completed order\n\n* **About Us**\n  - Learn more about our online shop and the lovely people who run it\n\n### Admin Section\n\n**Restricted access via basic HTTP authentication**\n\n* **Admin Dashboard**\n  - View all categories and products in one place for efficient store management\n\n* **Products Administration**\n  - Manage all available products from a single page\n  - **Add New Product Page**\n    - Create new products easily\n    - Built-in validation for each data field ensures inventory database accuracy\n\n* **Categories Administration**\n  - Manage all item categories from a single page\n  - **Add New Category**\n    - Create new categories easily\n\n## Purpose\n\nThis project was created by [me](https://github.com/kazvee) as part of my learnings at [Lighthouse Labs](https://www.lighthouselabs.ca/en/web-development-flex-program).\n\n## Setup\n\n1. Run `bundle install` to install dependencies\n2. Create `config/database.yml` by copying `config/database.example.yml`\n3. Create `config/secrets.yml` by copying `config/secrets.example.yml`\n4. Run `bin/rails db:reset` to create, load and seed both the `development` and `test` databases\n5. Create .env file based on .env.example\n6. Sign up for a Stripe account\n7. Put Stripe (test) keys into appropriate .env vars\n8. Run `bin/rails s -b 0.0.0.0` to start the server\n\n## Database\n\nIf Rails is complaining about authentication to the database, uncomment the user and password fields from `config/database.yml` in the development and test sections, and replace if necessary the user and password `development` to an existing database user.\n\n## Testing\n\n### Rspec\n\nUse command `bin/rspec` to run all tests (specs) in the `spec` directory.\\\nAlternatively run `bin/rspec --format documentation` for more verbose results, or create a `.rspec` file in project root which contains `--format documentation` to keep the flag on.\n\n### Cypress\n\nUse command `bin/rails cypress:open` to run all tests in the `cypress/integration` folder.\n\n## Stripe Testing\n\nUse Credit Card # 4111 1111 1111 1111 for testing success scenarios.\n\nMore information in their docs: \u003chttps://stripe.com/docs/testing#cards\u003e\n\n## Dependencies\n\n- Rails 6.1 [Rails Guide](http://guides.rubyonrails.org/v6.1/)\n- Bootstrap 5\n- PostgreSQL 9.x\n- Stripe\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkazvee%2Fjungle_rails","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkazvee%2Fjungle_rails","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkazvee%2Fjungle_rails/lists"}