Flowerista is an e-commerce web application dedicated to the online sale of flowers. It offers a user-friendly platform where customers can browse, select, and purchase flowers and related products. The application is designed to provide a seamless shopping experience with a strong focus on performance, accessibility, and scalability.
Key features of Flowerista include:
Intuitive User Interface: The application is built using React, ensuring a responsive and dynamic user experience. The interface is designed with simplicity in mind, making it easy for users to navigate through various product categories, view detailed product information, and manage their shopping cart.
Secure Payment Processing: Integration with PayPal allows users to make secure payments directly within the platform. This ensures that transactions are handled efficiently and securely, providing peace of mind to customers.
Multilingual Support: Using i18next, Flowerista offers localization support, allowing the application to be used in multiple languages. This feature makes the platform accessible to a broader audience, catering to users from different linguistic backgrounds.
High Performance: The application leverages modern tools like Vite for fast builds and Redux Toolkit for efficient state management. These tools help ensure that the application remains fast and responsive even as it scales.
Component-Driven Development: With Storybook, the development of UI components is isolated and well-documented, ensuring consistency across the application. Visual regression testing with Loki further ensures that UI changes do not introduce unexpected issues.
Automated Testing and CI: The project includes a comprehensive testing setup using Jest and React Testing Library, ensuring high code quality. Husky is used to manage Git hooks, automating tasks like linting and testing before commits, thus maintaining code integrity.
Scalable Architecture: The application is designed following the Feature-Sliced Design (FSD) methodology, which promotes a modular and scalable architecture. This ensures that the project can grow and evolve over time without becoming unmanageable.
This project leverages the following technologies and tools:
Clone the repository:
git clone https://github.com/VitrikushIhor/flowerista.git
Install dependencies:
npm install
Run the application:
npm run dev
To run tests:
npm run test
To start Storybook:
npm run storybook
Third-Party Services PayPal — Integrated for handling online payments. Localization The project supports multiple languages using i18next. You can add or modify language files in the corresponding directory.
Contributing Please feel free to create a Pull Request or open an Issue if you have any suggestions or find any bugs.
License This project is licensed under the MIT License.