Coder Social home page Coder Social logo

keronmat / createller-ecommerce-site Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 359 KB

Test Project for Creatella. This is an ecommerce site, where you can buy all sorts of ascii faces like `(ノ・∀・)ノ` and `¯_(ツ)_/¯`, in a wide variety of font sizes.

HTML 1.91% JavaScript 70.73% CSS 27.36%
reactjs eccommercewebsite ascii-fonts html-css-javascript

createller-ecommerce-site's Introduction

React Ecomerce Website for Creatella Project

This is intended only for the Creatella's use. It is done has a test project, to show my abilities to Creatella. The application is built using the library React JS.

Homepage -large screen Homepage - Side Panel Closed Homepage - Side Panel Open

Main Features

  • Products are displayed in a grid.
  • The user has an option to sort the products by "size", "price" or "id". The products list reloads when a new sorting option is chosen.
  • Each product has a "size" field price field and date.
  • The font-size (in pixels). The "price" is formatted as dollars like $3.51. The "date" field, displays relative time (eg. "3 days ago") ,unless they are older than 1 week.
  • The product grid automatically load more items as you scroll down.
  • An animated loading ("loading..." if CSS not wokring) message is shown while the user waits for the data to load.
  • Data is fetch whenever the user scroll, a loading animation is displayed to improve the user's experience.
  • When the user reaches the end and there are no more products to display, the message "~ end of catalogue ~" is shown.

Ads features

  • After every 20 products a modal pops up with an advertisement from a sponsor. The same markup as the advertisement in the header shown in public/index/html,was used and ?r query param is used to randomly generate a new image each time an ad is displayed.
  • The Ads are randomly selected, A user never sees the same ad twice in a row.
Other feactures
  • Responsive website
  • Sign In and Sign up buttons.
  • The user can add items to the cart.
  • Total Items and prices are displayed
  • Side drawer for mobile (<768px).
New Things I've learnt in this project
  • Using window onscroll method along with other window objects to calculate the screen size for infinte scrolling.

  • Using { responseType: "arraybuffer" } to received images form a server in binary data. Then you can convert back that data to be displayed on your website.

What is left to be done
  • Add state manager sucher as redux.
  • Add missing pages and links to complete the application (e.g:Directory link and checkout page).
  • Form validation
  • Test for bugs and fix.

Installation

  • clone the repository-https://github.com/Keronmat/createller-ecommerce-site.git

  • Use terminal to browse to the repository - cd creatella-ecommerce-site

  • Run the command - npm install /yarn

  • Start the application - npm start yarn start

  • npm install/ yarn start Runs the app in the development mode.
    Set to be open on http://localhost:3005 to view it in the browser.

Get the Server up and running
  • git clone creatella-ecommerce-server
  • At any location on your computer in a folder, extract the SERVER files.
  • Oper your terminal and move to the folder creatella-ecommerce-server -cd creatella-ecommerce-server.
  • Run the command - npm install /yarn.
  • Start the server - npm start yarn start

The server will now be up and running.

Both server and application needs to be up at the same time.

Author

Keron Matthews

createller-ecommerce-site's People

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.