Fatura-shopping-cart is a simple shopping cart for Fatura Fullstack technical task.
This is an list of needed instructions to set up your project locally, to get a local copy up and running follow these instructuins.
- Clone the repository
$ git clone https://github.com/Mohannedkandil/Fatura-shopping-cart.git
- Navigate to repository directory
$ cd Fatura-shopping-cart
- Install dependencies
$ npm install
- Running on development mode
$ npm run start
- Running Server
$ cd server
$ nodemon index.js
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
- 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
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)
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
This software is licensed under MIT License, See License for more information ©MohannedKandil.