copyright (c) 2022 by dario Passariello
Hi, this is Dario!. This is the demo about beer labels. Everything there is invented just to show how I build everything and I came to share all the information. I use these technologies:
- Docker for Mongodb as a machine on port 27017.
- Docker api server on node machine port 9000.
- Docker Client React on node machine on port 3000
- Docker Client Vue on node machine on port 3001
If you want to make a look in a live version: https://superdemo.picla.net/
If you need to save git log to file use git --no-pager log > git.txt
Please run docker-compose.yml first. After that you can run client_react. Sorry but the Vue version it's not ready at the moment.
If you use windows you can mode to project folder and run docker.bat
# NPM INSTALL
# drive:/SuperDemo/client_react/
# drive:/SuperDemo/client_vue/
npm install --prod ( --force if necessary )
From shell move to "/client_react/server" and execute "npm install --prod" if necessary From shell move to "/client_vue/server" and execute "npm install --prod" if necessary
# DO NOT FORGET
# drive:/SuperDemo/client_react/server/
# drive:/SuperDemo/client_vue/server/
npm install --prod
I want to make it automatic during Docker installation ... it's a TODO
From Docker you can run dpSuperDemo.client.react on the browser and enjoy my fatigue. Inside /client_react/data you have config options.
Please, download and install MongoDB Compass from https://www.mongodb.com/products/compass.
- Docker setup in all parts
- React version with webpack installed
- Vue boilerplate works but not project is installed
- Mongodb server works
- API punkapi full support
- UI / UX is almost done
- light and dark UI can be switched
- Theme is drived by OS system
- API came from punkAPI to our API and it's cached using dpHelper*
- Rating system works and store all vote to our db
- Search works
- Pagination works
- images and vectors works properly
- Modals are controlled by stModal*
- It's possible to use css, less, sass, scss
- It's possible to use all kinds of image formats.
- All data are global and state and store are stored using dpHelper*
- Api it's run on node environment
- x-user is used to validate votes.
- Same email can't vote more time same item
- Voting is in realtime.
- Everything is SPA
- All components should be shared between different pages
- redux is installed but not used... use dpHelper instead.
Coming soon
NPM dpHelper and stModal are developed by Dario Passariello. dpHelper is a collection of global function and memory state, store management. stModal are an alert, confirm replacement. Copyright by Dario Passariello
Copyright (c) 2022 Dario Passariello
Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
NonCommercial — You may not use the material for commercial purposes.
NoDerivatives — If you remix, transform, or build upon the material, you may not distribute the modified material.
No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.
You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation. No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material.
. ├───.vscode ├───api │ ├───bin │ ├───data │ ├───public │ │ └───stylesheets │ ├───routes │ └───views ├───client_react │ ├───public │ │ └───assets │ │ ├───fonts │ │ ├───icons │ │ ├───images │ │ ├───loaders │ │ ├───logos │ │ ├───themes │ │ └───vectors │ ├───server │ ├───src │ │ ├───components │ │ │ ├───general │ │ │ │ ├───castVote │ │ │ │ ├───loaders │ │ │ │ │ ├───circular │ │ │ │ │ │ ├───progress │ │ │ │ │ │ └───progressWithLabel │ │ │ │ │ └───horizontal │ │ │ │ │ ├───progress │ │ │ │ │ └───save │ │ │ │ ├───lock │ │ │ │ ├───music │ │ │ │ ├───social │ │ │ │ └───uiSelector │ │ │ └───shared │ │ │ ├───audio │ │ │ ├───code │ │ │ ├───fieldset │ │ │ ├───input-checkbox │ │ │ ├───input-email │ │ │ ├───input-password │ │ │ ├───input-radio │ │ │ ├───input-reset │ │ │ ├───input-search │ │ │ ├───input-submit │ │ │ ├───input-switch │ │ │ ├───input-text │ │ │ ├───legend │ │ │ ├───textarea │ │ │ └───video │ │ ├───config │ │ ├───data │ │ ├───layout │ │ │ ├───aside │ │ │ ├───footer │ │ │ ├───header │ │ │ ├───main │ │ │ └───nav │ │ ├───pages │ │ │ ├───about │ │ │ ├───help │ │ │ ├───home │ │ │ ├───notFound │ │ │ └───vote │ │ ├───redux │ │ │ ├───actions │ │ │ └───reducers │ │ │ └───shared │ │ │ ├───auth │ │ │ └───test │ │ ├───scripts │ │ ├───styles │ │ │ ├───responsive │ │ │ └───scss │ │ └───typings │ └───tests ├───client_vue │ ├───build │ ├───config │ ├───demo │ ├───dist │ │ └───static │ │ ├───css │ │ └───js │ ├───server │ ├───src │ │ ├───assets │ │ ├───components │ │ └───router │ ├───static │ └───test │ ├───e2e │ │ ├───custom-assertions │ │ └───specs │ └───unit │ └───specs ├───mongo └───screenShot
Dario Passariello Web Application Developer Trainer and 3D Expert https://dario.passariello.ca mobile: +1 778 318 2645