Product-Store is a comprehensive product management and display platform developed using the MAEN stack (MongoDB, Angular, Express, and Node.js). This web application is designed to streamline the process of managing products, providing an intuitive interface and robust features for users.
- Sign Up / Login: Secure user registration and authentication using JWT.
- User Roles: Different user roles including customers and administrators.
- Browse Products: Customers can browse through a variety of products.
- Add/Edit/Delete Products: Admins can manage product listings.
- Search Functionality: Easily find products using the search feature.
- Place Orders: Seamless ordering process with multiple payment options.
- Order History: View past orders and their statuses.
- Real-time Order Tracking: Track orders in real-time from preparation to delivery.
- User Management: Admins can view and manage all users, assign roles, and handle user-related issues.
- Product Approval: Admins can approve or reject product listings.
- Analytics Dashboard: View analytics and reports on user activity, orders, and revenue.
- Order Updates: Real-time notifications for order status updates.
- Promotional Notifications: Send promotional messages to users.
- Profile Management: Users can update their personal information and profile pictures.
- Order Management: View and manage current and past orders.
- Favorites: Save favorite products for easy access.
: A TypeScript-based framework for building web applications. Tailwind CSS : Utility-first CSS framework for quickly building custom designs.
: UI components for Angular applications.
: State management for Angular applications.
: Reactive programming library for JavaScript.
- Node.js : A JavaScript runtime environment for server-side applications.
- Express.js : A minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications.
- MongoDB : A NoSQL database used for storing user data, product listings, orders, and more.
- Mongoose : A MongoDB object modeling tool designed to work in an asynchronous environment.
- JWT (JSON Web Tokens) : Used for securely transmitting information between parties as a JSON object.
- Bcrypt : A library for hashing passwords to ensure secure storage in the database.
- Nodemailer : Send emails with Node.js.
- Dotenv : Loads environment variables from a .env file into process.env.
- Cors : Middleware for enabling CORS in your Express.js application.
- Multer : Middleware for handling multipart/form-data, primarily used for uploading files in your applications.
Copy code
git clone https://github.com/yourusername/product-store.git
cd product-store
cd producr-store-client
npm install
cd product-store-server
npm install
Create .env files in both the frontend and backend directories with appropriate configuration variables like API URLs, database connection strings, JWT secrets, and email service credentials.
cd producr-store-client
ng serve
cd product-store-server
npm start
Contributing 🤝 We welcome contributions from the community. If you have suggestions, find any issues, or want to add new features, please open an issue or submit a pull request on our GitHub repository.
License 📄 This project is licensed under the MIT License. See the LICENSE file for details.
Thank you for checking out Product-Store! We hope you find it useful and enjoyable to use. 🛒
Make sure you copy and paste the entire content to avoid missing any part of the markdown sy