This frontend service provides a user interface for managing products and users. It is built with React and communicates with the backend service for CRUD operations. This project aims to deliver a seamless and responsive user experience.
- Installation
- Usage
- Features
- Technologies
- Future Implementations
- Contributing
- License
- Related Projects
-
Clone the repository:
git clone https://github.com/yourusername/frontend-service.git cd frontend-service
-
Install dependencies:
npm install
-
Set up environment variables:
Create a
.env
file in the root directory and add the following variables:REACT_APP_BACKEND_URL=http://localhost:3000
-
Start the service:
npm start
After starting the service, it will be available at http://localhost:3000
. Open this URL in your browser to interact with the frontend.
- User Authentication: Login and registration functionality using JWT tokens.
- Product Management: Create, read, update, and delete products.
- User Management: Create, read, update, and delete users.
- Role Management: Although roles are defined, the deployment is open to all users.
- Admin Panel: Admins have access to additional functionalities for managing products and users.
- Responsive Design: Optimized for both desktop and mobile views.
- React: A JavaScript library for building user interfaces.
- Redux: A predictable state container for JavaScript apps.
- React Router: Declarative routing for React.
- Axios: Promise based HTTP client for the browser and Node.js.
- Tailwind CSS: A utility-first CSS framework for rapidly building custom user interfaces.
- JWT (JSON Web Tokens): For authentication and authorization.
- Cloudinary: Cloud-based image and video management services (for uploading and managing product images).
- Password Reset: Users will be able to reset their passwords via email. The backend for this feature has been implemented.
- Email System: Automated emails for account verification, password reset, and notifications. The backend for this feature has been implemented.
Contributions are welcome! Please follow these steps:
-
Fork the repository.
-
Create a new branch:
git checkout -b feature-branch
-
Make your changes.
-
Commit your changes:
git commit -m 'Add some feature'
-
Push to the branch:
git push origin feature-branch
-
Open a pull request.
Please ensure your code adheres to the project's coding standards and includes appropriate tests.
-
Order Service: Manages order creation, processing, and integration with RabbitMQ for message queuing.