Code Monkey home page Code Monkey logo

e-make's People

Contributors

azkali avatar

Watchers

 avatar  avatar  avatar

e-make's Issues

Api/*: Protect all store-related APIs

Attributes, attributes categories & products should be writable only by administrators, EG users with specific authorizations.

Cart & cart item should be bound to the connected user: a user can only retrieve its own items, & insert items linked with himself. The only exception is the administrator, that can read & write for every user.

Payment related entities should be read-write only for admins.

Multilang: Gather infos/Setup component

Multilang

Multilang at first will be only in French and English; planning to add German..

Multilang component

Should be so simple, that adding anew language is not a pain, should have country-based flags icons.

Shop/Cart: Implement Tag on model for cross category search

Can be added later

Tags

Tags themselves can be such as: {Cost(High/Low), Energy-Consumption Grade, Reparability, ...}
User can select up to 3 tags (maybe 5 maximum, but should be restrained because we do not want to have too much complexity in that, or inefficiancy)

Models

Models should be added 'Tags' to help user select depending on his taste according to the above mentionned tags list.

Front

Should be modified to have cross category searching, with fluid and easy navigation in-between products/categories.

Back

@GerkinDev Please fulfill these infos !

Blog: Seperate Blog app from the rest of the site

Blog

Entry-point

As the Blog is within the whole site/concept, and because, it uses shared services, from the main app;
it should be distinguished, from the rest of the site with another app-module(2) component as entry-point for the Blog.

Styling

The Blog should have another template of it's own apart from the rest of the site.
Look 'pages/login.ts' to see how to exclude component(s) from global styles with :
encapsulation: ViewEncapsulation.ShadowDom

Authentication: Implement authentication process

Users should be able to log in using the following methods:

  • Google
  • GitHub
  • Email + Pwd

@Azkali complete the list above, then remove the question label

Process:

  1. The front app display a page with all login methods
  2. It sends required data to the server by accessing the correct server endpoint directly (no AJAX).
  3. The server do authentication process, then redirect the user to the /login-ok route of the front app, with a JSON Web Token (JWT) in the header (TODO: which header?).
  4. The front application retrieves that header, and stores it (in cookies, storage, or memory, depending on cookie consents).
  5. For all subsequent requests to the server, the front application sends the JWT in the todo header.

Shop: Missing details line with the base product price

At the bottom of a product page, there is a table that allows the user to pick options about the product. Each option has a price, but the price displayed on the Add to cart button is the sum of all attributes prices, plus the base product price.

But, because the base product price is displayed nowhere on this page, it may confuse the user.

Legality: Write Legal Notice

Legal Notice

Make sure to met GPRD conditions on e-marketing !

Inside E.U.

Look forward for the laws concerning selling&shipping and e-marketing inside the E.U. ( e.g.: Germany's laws about importing batteries ) and inside Schengen Area.

Outside E.U.

Look forward for state by state laws/regulations on hi-tech products, especially batteries for selling&shipping* and e-marketing.

Look up Common Wealth agreement as the site will be available in Both French and English.

Shop: Add flexible Pricing

Flexible Pricing

Customers/Users will be able to pay, with a starting price as low as the lowest profit possible.

Navbar: Modal

Navbar Modal

What is the bug ?

When opening the navigation modal and accessing to another page, modal does not close itself

Possible solution

May resolve by creating a "modalClose" function in the related component CMIW @GerkinDev

Shop/Cart: Keep consistency of products & attributes in cart items

Because the cart items can be stored in local storage, entries may have a longer lifetime that the products & attribute that are in memory. Thus, cart items stores an ID for the product & attributes that may change between page reloads, breaking the references.

This issue can be solved by relying on a constant & manually defined uid field instead of the data-source autogenerated id field. It should be added in the ICartItem interface & the cart item attributes definition object.

Product: Banana

Banana

The case will be banana like shape.

Link

  • TBC -

It will have a HAT ! Sort of...

Yes, the plan is to port the actual proto's screen and buttons, alongside with a charger/protect/boost module and battery connector, into an add-on.

Shop: Marketplace

Marketplace

The marketplace is a service we will provide to help Makers grow their own buisnesses.
As the infamous website Etsy they will be the only one responsible for their own products.

However we will be providing services, such as a downloadable toolbox that provides infos on how to ship, package etc.. and over services like 3D printing etc..

Registered users using the marketplace will have profiles to share their social medias or other links/creations

Functionalities

  • Relying on decentralized network ( e.g.: socket.io )
  • Any registered user, will have the possibility to have his own marketplace, where he will be able to sell his own creations ( Open Source Licenses Only )
  • Registered users with a marketplace will also benefit of the premium services we could provide such as 3D Printing, PCB manufacturing, provided components/parts.
  • Marketplaces will have a comission when a buyer wants us to assemble a product

Fixed header in shop pages

For a better usability, the header, which contains the cart, should be always visible on shop pages. On the blog, it can be static at the top of the pages.

UI: Material(ize) Blog and Shop components

UI Materialization

Enhance the UX while polishing the look of the blog and shop components is the purpose of this issue !
Any help/idea is highly appreciated

Blog Materialization

  • Give a stylish Wordpress Blog feeling for the blog navigation/between articles
  • Add a previous/next buttons in Article component

Shop Materialization

  • Product color code ( Banana: Yellow ... ) display on header (and/or concording locations on product page )
  • Enhance product description/content section
  • Add temporary images

Kool UI Features

  • Changing colors depending on time in user timezone + location on the page

RGPD/CookieConsent: Ask the user for cookies

The front application should prompt the user to store informations in the browser.

Local Cart

This option allows the application to store the cart items of an anonymous user in the local storage, so that the cart can be retrieved when the user comes back.
If it is not accepted, cart items of an the anonymous user is stored in memory, & is lost at every page refresh. Existing items in the local storage store are removed.

Note: For connected user, this authorization has no real effect

Tracking

Allows the site to use Google Analytics (& maybe other trackers) to analyse traffic.
If it is accepted, the Google Analytics script is added to the page & events are bound.
If it is not accepted, Google Analytics related cookies are removed.

Do not bother me

In case the user has declined both Local Cart & Tracking, the application can't know if the user have already seen the cookie consent. This option gives none of the authorizations above, but stores an item to say that the user has configured his consents. The stored item is inserted only if all above options are defined; otherwise, the stored item is removed.

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.