This project is a front-end application for an E-Commerce platform built with React and Redux. It provides a user-friendly interface for customers to browse products, add items to their cart, and make purchases. The application also includes features for user authentication, product search, and order management. The project structure follows best practices for scalability and maintainability, ensuring a smooth shopping experience for users.
To get started with this project, follow these steps:
-
Clone the repository:
git clone https://github.com/atlp-rwanda/e-commerce-lydia-32-fn.git cd PROJECT_NAME
-
Install dependencies:
yarn install
-
Run the development server:
yarn run dev
-
Build the project for production:
yarn run build
-
Run tests:
yarn test
This project relies on the following major dependencies:
- React: A JavaScript library for building user interfaces.
- Redux: A predictable state container for JavaScript apps.
- React-Redux: Official React bindings for Redux.
- Redux Thunk: Middleware to handle asynchronous actions in Redux.
- React Router: Declarative routing for React applications.
- Axios: Promise-based HTTP client for making API requests.
To ensure code quality and functionality, this project includes a comprehensive suite of tests. The testing setup uses:
- Jest: JavaScript testing framework.
- React Testing Library: Simple and complete React DOM testing utilities.
-
Run all tests:
yarn test
-
Run tests in watch mode:
yarn test -- --watch
-
Generate a coverage report:
yarn test -- --coverage
The project includes the following badges to provide an overview of the project's health:
- Code Climate Maintainability: Indicates the maintainability of the codebase.
- Code Climate Coverage: Displays the test coverage percentage.
- CircleCI Status: Shows the current build status from CircleCI.
Feel free to open issues or submit pull requests if you have any suggestions or improvements. For detailed documentation on each dependency and tool, refer to their respective official documentation.