This is an e-commerce application built with Angular 14 and deployed with Docker. It provides users with a streamlined shopping experience, enabling them to browse, search, and order products.
- Product Browsing: View all available products, filter by category, and search by keywords.
- Cart Management: Add, remove, and update quantities of products in the cart.
- Order Confirmation: Complete orders with order confirmation notifications.
- User Authentication: Secure login and user management.
- Firestore Integration: Persistent storage for orders and user information.
- Frontend: Angular 18, TypeScript
- Backend: Firebase Firestore for database storage, fireAuth for Login/signUP
- Docker: Containerization of the Angular application for easy deployment
├── src/ # Angular source files
├── README.md # Project documentation
└── package.json # Project dependencies and scripts
Ensure that you have the following installed:
- Node.js (v14 or above)
- Angular CLI (for development)
- Docker (for deployment)
-
Clone the repository:
git clone https://github.com/ibrahimimohamed2108/angEcom1.git cd angEcom1 -
Install dependencies:
npm install
-
Run the application locally:
ng serve
The application will be available at
http://localhost:4200.
-
Build the project:
ng build
-
Build the Docker image:
docker build -t ibrahimimohamed2108/emishop:v2 .(in the same folder as Dockerfile) (.\angEcom1\front\e-commerce\browser> docker build -t ibrahimimohamed2108/emishop:v2 .)
-
Push the Docker image to Docker Hub:
docker pull ibrahimimohamed2108/emishop:v2
-
Run the Docker container:
docker run -p 8080:80 ibrahimimohamed2108/emishop:v2
Access the application at
http://localhost:8080.
This application requires Firebase Firestore for data persistence. To set up Firestore:
- Create a Firebase project on Firebase Console.
- Enable Firestore Database.
- Add Firebase configuration to your Angular environment files.
Mohamed Ibrahimi
Mohammadia school of engineers computer science Student
Docker Hub Repository
This project is licensed under the MIT License.