Giter Club home page Giter Club logo

little-shop-7's Introduction

Little Esty Shop

Background and Description

"Little Esty Shop" is a group project that requires students to build a fictitious e-commerce platform where merchants and admins can manage inventory and fulfill customer invoices.

Learning Goals

  • Practice designing a normalized database schema and defining model relationships
  • Utilize advanced routing techniques including namespacing to organize and group like functionality together.
  • Utilize advanced active record techniques to perform complex database queries
  • [Optional] Practice consuming a public API while utilizing POROs as a way to apply OOP principles to organize code

Requirements

  • Must use Rails 7.0.x, Ruby 3.2.2
  • Must use PostgreSQL
  • All code must be tested via feature tests and model tests, respectively
  • Must use GitHub branching, team code reviews via GitHub PR comments, and either GitHub Projects or a project management tool of your group's choice (Trello, Notion, etc.)
  • Must include a thorough README to describe the project
    • README should include a basic description of the project, a summary of the work completed, and some ideas for a potential contributor to work on/refactor next. Also include the names and GitHub links of all student contributors on your project.
  • Must deploy completed code to the internet (using Heroku or Render)
  • Continuous Integration / Continuous Deployment is not allowed
  • Use of scaffolding is not allowed
  • Any gems added to the project must be approved by an instructor
    • Pre-approved gems are capybara, pry, faker, factory_bot_rails, orderly, simplecov, shoulda-matchers, launchy

Setup

  • Fork this repository
  • Clone your fork
  • From the command line, install gems and set up your DB:
    • bundle
    • rails db:create
  • Run the test suite with bundle exec rspec.
  • Run your development server with rails s to see the app in action.

Phases

  1. Database Setup
  2. User Stories
  3. Extensions
  4. Evaluation

Summary

Project Description

This project has been a container of different areas of education through Turing, including the use and organization of CSV files and converting them into smart objects for more dynamic assessments. It has required some new skills to develop including Rake, FactoryBot, Faker, CSS, HTML styling, and more.

The project is split into different phases:

  • Phase 1 - CSV loading through Rake and creating foreign key relationships
  • Phase 2 - Setting up Factory Bot and Faker to more efficiently instantiate test objects
  • Phase 3 - Following User Stories and ensuring the standards of MVC
  • Phase 4 - Formatting and Styling by matching the view to the provided wireframes
  • Phase 5 - Refactoring for DRY methods with the use of partials, advanced routing methods, and collaborating with one another to ensure all requirements were met

This was all while managing the project with multiple parties through the use of Github Projects and communication through Slack.

All-in-all, this project has been a great practice of collaboration, managing complex Github merge conflicts, and tying in new and old DRY/MVC practices for better technical understanding.

Summary of Work Completed

  • All user stories up to extension 1 was completed, styling
  • Partial completion of extension 1-2

Potential Refactor

  • Update the path for all tests (i.e. from /merchants/:merchant_id/dashboard to merchant_dashboard_index_path)
  • Refactor to build helper methods in controllers
  • Use iteration for some of the tests
  • For additional practice, any/all API extensions and other extensions

Contributors

little-shop-7's People

Contributors

chispmama avatar skim1027 avatar josephlee702 avatar wagglydessert avatar billyburch avatar cjsim89 avatar juliet-e avatar mikedao avatar

Stargazers

 avatar  avatar

little-shop-7's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.