This app is a work in progress, missing features and probably containing bugs. Read below for more information.
This project is a fictitious web shop that I created while finishing this excellent Angular course. It allows me to apply the knowledge learned during the course. The app's front-end is made with Angular 7, it is serverless and uses Firebase as its real-time database.
I started coding this project along with the teacher, and then quickly decided to continue developping it on my own, because there were too many differences between my code and the teacher's code. Then, I only used the introduction video of each section as requirements of what should be built. Here's a list of some of the differences:
- Using Angular 7 instead of 4
- Using a more recent version of AngularFire
- Ditched Bootstrap in favor of Angular Material
- Refactored the Firebase services to be more object oriented
- Most of the code is different now, as I'm not watching the course anymore
- CI/CD pipeline using Azure Devops
TODO: see the project's board
The app is automatically deployed to Firebase hosting on https://oshop-b85ea.web.app after a successful merge to the master branch. There are also admin screens to manage products and orders, but you need to have admin access for that. If you want to get admin access, send me the Google email you used to log in.
This project was generated with Angular CLI version 7.1.1.
First, you need to install Nodejs version 8 or higher.
Then run npm install
from your command line.
Run ng serve
for a dev server. Navigate to http://localhost:4200/
. The app will automatically reload if you change any of the source files.
Run ng generate component component-name
to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module
.
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory. Use the --prod
flag for a production build.
Run ng test
to execute the unit tests via Karma.
Unit tests for this project are currently failing / not implemented yet.
Run ng e2e
to execute the end-to-end tests via Protractor.
Please note that I don't plan to add any end-to-end tests to this project, as the focus is to learn Angular.
To get more help on the Angular CLI use ng help
or go check out the Angular CLI README.