Skip to content

This project is a fully functional e-commerce website built with Next.js and TypeScript, designed to offer a seamless shopping experience. It integrates Sanity as a headless CMS for managing products, content, and orders, and uses Stripe for secure payment processing.

Notifications You must be signed in to change notification settings

ibrahimdevop21/E-shop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

E-Commerce Platform with Next.js, TypeScript, Sanity CMS, and Stripe 🚀

Welcome to the E-Commerce Platform! This project is an online store built with Next.js, TypeScript, Sanity CMS, and Stripe for secure payment processing. The goal of this project is to build a fully-functional, scalable, and SEO-optimized e-commerce platform, showcasing modern web development techniques.

🎯 Project Overview

This platform allows users to browse products, add them to a shopping cart, and securely process payments through Stripe. Admins can manage products, pricing, and categories via Sanity CMS, a flexible headless CMS. The platform is designed to be responsive, with a focus on performance, SEO, and a great user experience.

Key Features:

  • Server-Side Rendering: Powered by Next.js for fast page loads and SEO optimization.
  • Product Management: Admins can easily manage products via Sanity CMS.
  • Secure Payments: Integration with Stripe for reliable and secure payment processing.
  • Mobile-First Design: Responsive design for a seamless experience on all devices.
  • SEO Optimized: Proper SEO setup, including metadata, open graph tags, and sitemaps.
  • Testing: Full testing coverage with Jest and Cypress for unit and end-to-end testing.

🚀 Technologies Used

  • Frontend: Next.js, React, TypeScript, Tailwind CSS (or any other styling libraries you choose)
  • Backend: Sanity CMS (headless CMS)
  • Payment Processing: Stripe
  • Testing: Jest (unit tests), Cypress (end-to-end tests)
  • Others: Prettier, ESLint, Husky, and more

🛠️ Getting Started

To run this project locally, follow these steps:

  1. Clone the Repository

    git clone https://github.com/yourusername/e-commerce-platform.git
    cd e-commerce-platform
    
  2. Install Dependencies We use Yarn for dependency management:

    yarn install
  3. Set Up Environment Variables Create a .env.local file in the root directory of the project and add the necessary credentials:

    NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=your-stripe-publishable-key
    SANITY_PROJECT_ID=your-sanity-project-id
    SANITY_DATASET=your-sanity-dataset
  4. Run the Development Server Start the local development server:

    yarn dev

    Open your browser and navigate to http://localhost:3000.

🧪 Testing the Application

The project is equipped with both unit tests and end-to-end tests to ensure functionality and reliability.

  • Unit Tests (Jest): Run unit tests using Jest:

    yarn test
  • End-to-End Tests (Cypress): Open Cypress for end-to-end testing:

    yarn cypress open

🚧 Features to Be Added

  • User Authentication: Add user authentication for sign-up/login functionality.
  • Product Ratings & Reviews: Allow customers to leave product ratings and reviews.
  • Internationalization: Support for multiple languages and currencies.
  • Enhanced Payment Options: Support for additional payment gateways (e.g., PayPal).

📋 Project Management

This project is being developed with careful planning and organization. I’ve been using Notion to keep track of tasks, milestones, and features. You can check out the full To-Do List and roadmap for the project here. You're right—there is redundancy in the two sections. To streamline it and avoid repetition, here's a more concise version:


💡 Contributing

We welcome contributions from developers and designers of all experience levels! Whether you're suggesting improvements, reporting bugs, or contributing code, your input helps make this project better for everyone.

If you want to contribute:

  • Fork the repository
  • Create a new branch for your changes
  • Submit a Pull Request, and we’ll review it together!

Check out our Notion roadmap for ongoing goals and feel free to suggest new ideas!


📄 License

This project is open-source and available under the MIT License. See the LICENSE file for more details.

About

This project is a fully functional e-commerce website built with Next.js and TypeScript, designed to offer a seamless shopping experience. It integrates Sanity as a headless CMS for managing products, content, and orders, and uses Stripe for secure payment processing.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published