Code Monkey home page Code Monkey logo

lschlesinger / fairbundled Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 0.0 28.4 MB

Fairbundled is an online marketplace to enable municipalities to acquire sustainable and certified supplies by gathering offered sustainable products and bundling the demands of multiple buyers to achieve more affordable prices.

Home Page: https://fairbundled.herokuapp.com/

License: MIT License

Shell 0.17% JavaScript 94.98% HTML 0.55% CSS 4.30%
docker express less mern-stack mongodb mongoose nodejs react

fairbundled's People

Contributors

gitverax avatar lschlesinger avatar sebastiannikles avatar timsch1 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

fairbundled's Issues

Build product image component to be used in preview and product details

📃 Description

To be able to better understand what an issue is about, one shall provide some further guidance.
This is what the Description is about

component should show one main picture above all available pictures, which can be selected as main picture

✅Definition of Done

To be able to objectively judge, whether a task is done or not, certain acceptance criteria have to be defined. This is what the Definition of Done is about.

  • build component for 4 pictures (1 top row, 4 bottom row)
  • optional: add dummie frames if not all 4 possible pictures were uploaded
  • integrate in product preview modal
  • integrate in product details view

Create recommended product on Landing Page

📃 Description

Landing page with several well designed elements and information

✅Definition of Done

The user sees a recommended product

  • banner
  • product section: Fairbundle
  • product section: sponsored products
  • Certificates
  • Selected Categories
  • Information / Principle

Add Time Stamp in Fairbundle Creation

📃 Description

Add time stamp in fairbundle creation to display it on Municipalites Account view at Laufzeitende
Intention: make fairbundle.de more ebay like

...

✅Definition of Done

To be able to objectively judge, whether a task is done or not, certain acceptance criteria have to be defined. This is what the Definition of Done is about.

  • Municipality can select Laufzeitende with time stamp
  • Municipality Account view displays time stamp in addition to Date

Create Product Preview

📃 Description

To be able to better understand what an issue is about, one shall provide some further guidance.
This is what the Description is about

After having inputted all necessary values, supplier click on preview and gets modal view with product preview

✅Definition of Done

To be able to objectively judge, whether a task is done or not, certain acceptance criteria have to be defined. This is what the Definition of Done is about.

  • provide preview button on last product creation step
  • add pictures to preview
  • use ProductDetailView (light-version) #26

change order of productFilterBar Certificate Sectors

📃 Description

To be able to better understand what an issue is about, one shall provide some further guidance.
This is what the Description is about

...

✅Definition of Done

To be able to objectively judge, whether a task is done or not, certain acceptance criteria have to be defined. This is what the Definition of Done is about.

  • Waschmittel should not be first (not relevant, duplicated Blauer Engel)

Implement Product Creation Process (ProductCreationView)

📃 Description

To be able to better understand what an issue is about, one shall provide some further guidance.
This is what the Description is about

Product Creation (UC I) via frontend - part 1: ProductCreatinView and associated components

✅Definition of Done

To be able to objectively judge, whether a task is done or not, certain acceptance criteria have to be defined. This is what the Definition of Done is about.

  • Supplier can select category and subcategory
  • Supplier can describe product with name, delivery days, ean and description text
  • Supplier can select several price level (descending unit price)
  • Supplier can updload pictures
  • Supplier can select category specific certificates
  • on back-click, previously inputted values are default values
  • after successful product creation and upload, supplier receives success altert
  • Fields are correctly send to database collection product
  • implement preview logic #15

Create JoinFairbundleView / Component

📃 Description

To be able to better understand what an issue is about, one shall provide some further guidance.
This is what the Description is about

...

✅Definition of Done

To be able to objectively judge, whether a task is done or not, certain acceptance criteria have to be defined. This is what the Definition of Done is about.

  • ...
  • ...

Control payload size when `product` is loaded from backend for ListView

📃 Description

To be able to better understand what an issue is about, one shall provide some further guidance.
This is what the Description is about

Change request/result from backend in a way that only the first picture (the only one shown in product list view) in loaded from backend to prevent unnecessary high payloads

✅Definition of Done

To be able to objectively judge, whether a task is done or not, certain acceptance criteria have to be defined. This is what the Definition of Done is about.

  • change product controller (backend) to load only first picture at endpoint GET /product (get all products)

Define rules for product creation (req. fields etc.)

📃 Description

To be able to better understand what an issue is about, one shall provide some further guidance.
This is what the Description is about

add validation rules for all forms used (which filed are required when creating/uploading a product

✅Definition of Done

To be able to objectively judge, whether a task is done or not, certain acceptance criteria have to be defined. This is what the Definition of Done is about.

  • select required input fields
  • define rules in accordance with db schema and listView

Create Fairbundle Slider with search results and cascader

📃 Description

upper section on product list view. Fairbundle slider, number of results & cascader with different options.

Enhance product list view with information at top

✅Definition of Done

  • fairbundle button with on and off possiblity and changing results depending on selection
  • number of results depending on search filters
  • Highest, lowest price cascader to change ordering of results

Delete obsolete bootstrap services for initial database filling

📃 Description

To be able to better understand what an issue is about, one shall provide some further guidance.
This is what the Description is about

...

✅Definition of Done

To be able to objectively judge, whether a task is done or not, certain acceptance criteria have to be defined. This is what the Definition of Done is about.

  • delete order related services
  • delete user related services
  • delete product related services
  • adapt bootstrap service
  • adapt env variable (heroku and local)

Create Customized Theme Ant

📃 Description

To be able to better understand what an issue is about, one shall provide some further guidance.
This is what the Description is about

Create customized Ant Design Theme reflecting the corporate design of Fairbundled

✅Definition of Done

To be able to objectively judge, whether a task is done or not, certain acceptance criteria have to be defined. This is what the Definition of Done is about.

  • Decision on color scheme
  • Decision on font
  • Customized .less file created
  • .less file successfully included

Create header component

📃 Description

To be able to better understand what an issue is about, one shall provide some further guidance.
This is what the Description is about

Design and implement the header component in frontend

✅Definition of Done

To be able to objectively judge, whether a task is done or not, certain acceptance criteria have to be defined. This is what the Definition of Done is about.

  • Header Component includes Logo
  • Header Component includes Searchbar
  • Header Component includes "Alle Kategorien" Dropdown Menue
  • Header Component includes Mein Konto
  • Header Component includes Warenkorb
  • Header Component includes Category Bar
  • Add routing via icons for municipality (warenkorb, mein konto)
  • Add routing via icons for supplier (mein konto)
  • add login / logout
  • make root level category selectable (and shown as selected)
  • Add "alle Angebote" logic

Create ProductDetailView

📃 Description

To be able to better understand what an issue is about, one shall provide some further guidance.
This is what the Description is about

Create ProductDetailView to be also used (in light version without check-out-function) in preview

✅Definition of Done

To be able to objectively judge, whether a task is done or not, certain acceptance criteria have to be defined. This is what the Definition of Done is about.

  • on left side: displays pictures -> ProductImage.js
  • middle part: displays Product name, suppliername, description -> ProductInformationText.js
  • on bottom: displays certificates with pictures that are clickable and lead to certificate url to get further information -> CertificatInformation.js
  • on right side: order-option sidebar leading to different modal views -> OrderOptions.js
  • Join Fairbundle view
  • Create Fairbundle view

Fairbundle Filter Bar

📃 Description

Filter bar with additional criteria (e.g. product certificates, ...) next to the product result list. Selecting one or more of the filters will result in the list reloading to only show products fulfilling the selected criteria.

✅Definition of Done

  • Show a box next to the product list
  • Show a menu in the filter bar
  • Fetch the categories and show them in the menu
  • Show them as checkboxes
  • Add the selected certificates to the url
  • Fix selecting certificates (toggle on/off the checkboxes + remove highlighting)
  • Update product list depending on the selected certificates
  • Fix certificate text display (line break or ellipsis?)
  • Group certificates by sector
  • Make sidebar scrollable (max height)

Disabled order buttons --> Logik überdenken

📃 Description

m.M wäre das zu erwartende Verhalten, dass auch ein nicht eingeloggter User auf die Buttons klicken kann, dann aber redirected wird zur Login Maske, nicht dass der Button disabled ist.
Und falls man bei disabled buttons bleibt, sollten Fairbundles und Direktbestellungen disabled sein, immerhin sieht man ja auch bei beiden den Tooltip (der wenn dann auch nur kommen sollte, wenn der button disabled ist)
ich wäre jedoch dafür, dass man redirected wird zu login

Bildschirmfoto 2020-07-12 um 16 52 23

✅Definition of Done

To be able to objectively judge, whether a task is done or not, certain acceptance criteria have to be defined. This is what the Definition of Done is about.

  • fix redirection / disablement of order buttons

Fix image upload

📃 Description

To be able to better understand what an issue is about, one shall provide some further guidance.
This is what the Description is about

Change impage upload in a way to avoid mocked ant backend

✅Definition of Done

To be able to objectively judge, whether a task is done or not, certain acceptance criteria have to be defined. This is what the Definition of Done is about.

  • image upload is working without ant mockup backend
  • all images are uploaded without frontend upload error shown
  • after having uploaded something continue and go back, images should be displayed

Refine Registration/Login Process

📃 Description

To be able to better understand what an issue is about, one shall provide some further guidance.
This is what the Description is about

Refine registration and login process w.r.t. pascals feedback

✅Definition of Done

To be able to objectively judge, whether a task is done or not, certain acceptance criteria have to be defined. This is what the Definition of Done is about.

  • allow searching the municipality dropdown when choosing the registered municipality a user belongs to
  • at register: set password instead of just input password (with confirmation)
  • fix issue of registration (userService?)

Add Breadcrumb Navigation to header

📃 Description

To be able to better understand what an issue is about, one shall provide some further guidance.
This is what the Description is about

Add breadcrumb navigation to header showing the category depth that is selected

✅Definition of Done

To be able to objectively judge, whether a task is done or not, certain acceptance criteria have to be defined. This is what the Definition of Done is about.

  • breadcrumbs are added deleted w.r.t. category selection

Forbit that user submits orders lower than the min.Quantity in priceLevel

📃 Description

Without a method that catches all order submissions that have a lower quantity than the predefined min. quantity of the lowest PriceLevel in products, the user could submit every order quantity even if it does not matches supplier product creation settings.

...

✅Definition of Done

To be able to objectively judge, whether a task is done or not, certain acceptance criteria have to be defined. This is what the Definition of Done is about.

  • Set minimum quantity of product.priveLevel to default value in qty input in FE
  • validate input value in FE
  • validate input value in BE (validation rule in order.model and fairbundle.model)
  • add hint in product create process - process step "Preisstufen festlegen"

Change unit datatype in product priceLevel to enum

📃 Description

To be able to better understand what an issue is about, one shall provide some further guidance.
This is what the Description is about

in order to allow only certain units, datatype of unit in priceLevel (product-model.js) needs to be aligned to the UML

✅Definition of Done

To be able to objectively judge, whether a task is done or not, certain acceptance criteria have to be defined. This is what the Definition of Done is about.

  • declare unit as enum in model.js (values match the units to be chosen from in FE)

Create Supplier-Account View

📃 Description

This view shows the supplier all necessary information about orders, shipping, payments, commissions and also brings the supplier to the product creation view

✅ Definition of Done

  • Supplier Name
  • Products selling (Aktiv, Sold, Umsatz)
  • Jetzt Verkaufen button
  • Bestseller des Monats
  • Fees Overview

Create product card on product list view

📃 Description

Products should be displayed in a list containing multiple cards with respective product attributes like name, description, image and pricelevel. In addition, a details button is shown.

...

✅Definition of Done

  • Product name, description, pricelevel and image are displayed within a card
  • Product list contains multiple cards

Secure all backend routes for unauthorized queries

📃 Description

Some backend routes especially those which are Get routes are available without authorization checks or supplier/municipality checks. Ingo does not like it probably. E.g. api/supplier makes also his billingAdress visible

✅Definition of Done

To be able to objectively judge, whether a task is done or not, certain acceptance criteria have to be defined. This is what the Definition of Done is about.

  • get supplier in FE (for register user to existing supplier) just returns names and Ids (no addresses)
  • get municipality in FE (for register user to existing municipality) just returns names and Ids (no addresses)

Set up CI/CD Pipeline

📃 Description

To be able to better understand what an issue is about, one shall provide some further guidance.
This is what the Description is about

Set up a CI/CD Pipeline and deploy the App on Heroku

✅Definition of Done

To be able to objectively judge, whether a task is done or not, certain acceptance criteria have to be defined. This is what the Definition of Done is about.

  • CI/CD Pipeline runs successfully
  • use github actions deploy on heroku
  • heroku domain can be visited

Create InitializeFairbundleView / Component

📃 Description

To be able to better understand what an issue is about, one shall provide some further guidance.
This is what the Description is about

...

✅Definition of Done

To be able to objectively judge, whether a task is done or not, certain acceptance criteria have to be defined. This is what the Definition of Done is about.

  • ...
  • ...

Create Municipality-Account View

📃 Description

To be able to better understand what an issue is about, one shall provide some further guidance.
This is what the Description is about

Think about elements that should appear in municipality account

✅Definition of Done

To be able to objectively judge, whether a task is done or not, certain acceptance criteria have to be defined. This is what the Definition of Done is about.

  • Use Supplier View "Data section" as left column
  • Created History Order and Pending Fairbundle Overview for middle section
  • Created Savings and Sustainbility Achievements Section as right column

Implement logic to automatically logout and redirect to /login after token expiration

📃 Description

To be able to better understand what an issue is about, one shall provide some further guidance.
This is what the Description is about

Trigger logout after token expiration and redirect to /login to assure that users always interact with valid tokens

✅Definition of Done

To be able to objectively judge, whether a task is done or not, certain acceptance criteria have to be defined. This is what the Definition of Done is about.

  • automatically logout after token expiration
  • redirect to login after automatic logout

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.