Git Product home page Git Product logo

fatura-shopping-cart's Introduction

Fatura Shopping Cart

Fatura-shopping-cart

Fatura Shopping Cart using MEVN - MongoDB, Express, Vue.js, & Nodejs

Table of Contents

About The Project

Fatura-shopping-cart is a simple shopping cart for Fatura Fullstack technical task.

Built with

Getting Started

This is an list of needed instructions to set up your project locally, to get a local copy up and running follow these instructuins.

Installation

  1. Clone the repository
$ git clone https://github.com/Mohannedkandil/Fatura-shopping-cart.git
  1. Navigate to repository directory
$ cd Fatura-shopping-cart
  1. Install dependencies
$ npm install
  1. Running on development mode
$ npm run start
  1. Running Server
$ cd server
$ nodemon index.js

Screenshots

home home2 home3 home4

UI

I have started to design interface of the website using Figma as a future design for the website. Currently, I'm redesigning the UI with UX for a more enhanced solution

figma

Leftouts

  • To start use vuex for the state managment, it will be ready for a large scale of users. It will enhance the flow of the code and the real time data from the DB.
  • Make a coupon component for generating coupons for users with various numbers/percentages.
  • Authentication, authorization (I'm working on it now) with 2 roles, admin(seller) and user(buyer).
  • Drag and drop style components, which will allow the seller to style his/her produccts in multiple ways based on the seller preferences

Lessons Learned

When I received the task, I was not familiar with Nodejs. So I started to learn the basics of Nodejs and some practice with simple applications. Then, I did a quick warm up on VUE js (Vue CLI, Vue router basics, forms and data binding, fetching data, async code, routing).

Moreover, I set a challenge to learn Vuetify instead of using BootstrapVue (I worked with it before). It was a great challenge for me to start with something I never worked with it before. Just I learned the bascis + some some simple applications, then I started grinding on the main app.

I have learned the following from various resources (Nodejs):

  • Node Module System
  • Node Package Manager
  • Express basic apps
  • Building RESTful API's using Express
  • Express Advacned Topics (Middleware, creating custom Middleware, third-party Middleware, configuration, debuging, Templating Engines, Database Integration)
  • CRUD operations using MONGODB
  • Mongo - Data Validation
  • Authentication, authorization, and Unit Testing (working on it now)

File Structure

Fatura-shopping-cart
├── README.md
├── LICENSE
├── node_modules
├── package.json
├── .gitignore
├── build
├── public
│   ├── index.html
│   └── logo.jpg
    └── favicon
└── server
    ├── routes
    |   └── index.js
    │   └── api
           └── coupons.js
           └── items.js
    ├── api	
    |   └── fake.js	
└── src
    ├── assets
    │   └── images
    ├── api	
    |   └── fake.js	
    ├── components	
    |   ├── Navbar
    |   ├── Popup
    |   ├── Footer
    |   ├── PopupEdit
    ├── plugins	
    |   ├── vuetify	
    ├── views	
    |   └── Items	
    |   └── Dashboard	
    ├── App.vue	
    ├── ItemService.js	
    ├── main.js
    ├── router.js	

License

This software is licensed under MIT License, See License for more information ©MohannedKandil.

fatura-shopping-cart's People

Contributors

mohanadkandil avatar

Watchers

 avatar

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.