This project is a modern ecommerce application built with React and TypeScript in RS School.
The ecommerce project uses the latest web technologies to create a fast, responsive shopping platform. With React powering the frontend and TypeScript ensuring type safety throughout the codebase, developers can build and maintain complex features with confidence. The use of Vite for development and production bundling ensures speedy build times and optimal performance.
Key features of the project include:
Product Catalog: Browse a wide range of products organized into categories and collections.
User Authentication: Secure user authentication and authorization to manage accounts and orders.
Shopping Cart: Add and remove items from the shopping cart, update quantities, and proceed to checkout.
Responsive Design: Optimized for various screen sizes to ensure a consistent user experience across devices.
- Frontend
- React - A JavaScript library for building user interfaces.
- TypeScript - A statically typed superset of JavaScript that enhances code quality and developer productivity.
- fetch - for making http requests
- Backend
- commercetools
- testing
- vitest - JS framework for unit testing
- version control
- git - A distributed version control system for tracking changes in source code
- github - for hosting the repository
- additional Tools
- Vite - project bundler.
- ESLint - js linter for identifying and fixing code errors
- Prettier - code formatter
- husky - running scripts before commits.
- lint-staged - Lint-staged is a tool used in conjunction with Git for running linters on staged files
- clone the repository
git clone "repository url"
- Install dependencies
- npm install
npm run dev
this command will start the development server using vite
npm run build
this commands builds the project
npm run lint
this command checks for linting errors using ESLint
npm run format
formats code using prettier
npm run preview
starts preview server using vite (must be run after build)
npm run test
runs unit tests with vitest
npm run coverage
provide insights into how much of the code is being tested