Botanical Store

screenshot of Botanical Store
nextjs
react
tailwind
firebase

An Open source application developed with game-changing technologies such as Next.js 13, React.js 18, TypeScript, Tailwind and Firebase to meet modern demands.

Overview:

Botanical Store is an open-source e-commerce project that utilizes the Next.js App Router, React 18, TypeScript, Tailwind CSS, and Firebase. This project is designed to provide a functional and customizable e-commerce platform that can be easily deployed.

Features:

  • Next.js new /app directory: The project structure follows the new Next.js convention, organizing components and pages within the /app directory.
  • Server and Client Components: Both server-side and client-side components are used, allowing for efficient rendering and server-side data fetching.
  • Routing, Pages, Layouts, and Layout Groups: The project includes a flexible routing system that allows for the creation of pages, layouts, and layout groups, making it easy to manage the app's structure.
  • Data Fetching, Revalidating, Caching: The project includes built-in functionality for data fetching, revalidation, and caching, ensuring that data is always up to date.
  • Server Actions (experimental feature): The use of server actions allows for the execution of server-side logic directly from the client.
  • Route handlers: Route handlers are used to handle specific actions or logic for a particular route, providing flexibility and customization options.
  • Suspense Boundaries, Loading UI, and Not found pages: Suspense boundaries are utilized to handle loading states and display a custom UI while data is being fetched. Not found pages are also included to handle 404 errors.
  • Static and Dynamic Metadatas: The project supports setting static and dynamic metadata for each page, allowing for proper SEO and social sharing.
  • Add to cart and similar functionalities: The e-commerce functionality includes features such as adding items to the cart and storing cart data in localStorage.
  • Pagination, Search, Sorting, Filters: The project includes functionality for pagination, search, sorting, and filtering, allowing users to easily navigate and find products.
  • CRUD operations + Dashboard table: The project provides CRUD operations for managing products and includes a dashboard table for easy product management.
  • Database and storage on Firebase: The project utilizes Firebase for database storage and file uploads, providing a scalable and reliable backend.
  • Image uploads with dropzone provided by react-drop-zone: A file upload feature is included, utilizing the dropzone component provided by react-drop-zone.
  • Notification messages with react-hot-toast: Notification messages are easily implemented using the react-hot-toast library.
  • Building forms with react-hook-form and validations using Zod: The project includes form building functionality using react-hook-form and validation using the Zod library.
  • Global State management with Zustand: Zustand is used for global state management, providing an easy-to-use and efficient solution.
  • Written in TypeScript: The project is written in TypeScript, ensuring type safety and improving development productivity.
  • Components styled with Tailwind CSS: All components in the project are styled using Tailwind CSS, providing a flexible and customizable design system.
  • Dark/light mode with next-themes: The project includes support for dark and light mode using the next-themes library.
  • Available as a Progressive Web App (PWA): The Botanical Store can be installed as a Progressive Web App, allowing for easy access and offline functionality.

Summary:

Botanical Store is a feature-rich and customizable open-source e-commerce project built with the latest web development technologies. It offers a wide range of functionalities, from data handling and state management to e-commerce features and form validation. With its flexible architecture and easy installation process, the Botanical Store is an ideal solution for building your own e-commerce website.

nextjs
Next.js

Next.js is a React-based web framework that enables server-side rendering, static site generation, and other powerful features for building modern web applications.

react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

tailwind
Tailwind

Tailwind CSS is a utility-first CSS framework that provides pre-defined classes for building responsive and customizable user interfaces.

firebase
Firebase

Firebase offers a comprehensive set of features, including real-time database, authentication, hosting, cloud functions, storage, and more. Firebase provides an easy-to-use interface and allows developers to focus on building features rather than managing infrastructure.

dashboard
Dashboard

A dashboard style website template is a pre-designed layout that features a user interface resembling a control panel or dashboard. It typically includes charts, graphs, tables, and other data visualization tools that allow users to monitor and analyze data in real-time.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

postcss
Postcss

PostCSS is a popular open-source tool that enables web developers to transform CSS styles with JavaScript plugins. It allows for efficient processing of CSS styles, from applying vendor prefixes to improving browser compatibility, ultimately resulting in cleaner, faster, and more maintainable code.

Pwa

A Progressive Web App (PWA) is a type of web application that uses modern web technologies to provide a native app-like experience to users, including offline functionality, push notifications, and device hardware access. PWAs can be installed on a user's home screen and launched like a traditional app, but do not require a separate app store listing or download.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.

Zustand

Zustand is a lightweight state management library for React that provides a simple and intuitive API for managing state in your application. It allows developers to easily create and manage global state, and provides a powerful set of tools for optimizing performance and improving developer productivity. Zustand is designed to be easy to use and easy to learn, making it a popular choice for developers of all skill levels.