Skip to content

Eng1Mahmoud/e-commerce-next-app

Repository files navigation

E-Commerce Next.js App

A full-stack e-commerce platform with a modern, responsive design and powerful backend capabilities. This application leverages state-of-the-art technologies to deliver a seamless shopping experience.

🌟 Features

  • Authentication: Secure user authentication with bcrypt and jsonwebtoken.
  • Image Management: Upload and manage images using cloudinary and next-cloudinary.
  • Payments: Integrated with stripe for secure and reliable payments.
  • State Management: Powered by zustand for a lightweight and efficient state management solution.
  • Rich User Interface: Built using react-icons and enhanced with animations using swiper.
  • Email Notifications: Send automated emails with nodemailer.

🛠 Technologies Used

Frontend

  • Next.js (v14.2.3): React framework for server-side rendering and static site generation.
  • React (v18): Frontend JavaScript library for building user interfaces.
  • React DOM (v18): React's package for DOM manipulation.
  • React Icons: A library for easily using popular icons.

Styling

  • Tailwind CSS: A utility-first CSS framework for rapid UI development.
  • DaisyUI: Tailwind CSS components for a more customizable UI.

Backend

  • Mongoose: Elegant MongoDB object modeling for Node.js.
  • Bcrypt: Secure password hashing.
  • JSON Web Tokens (JWT): Token-based authentication and authorization.

Image Management

  • Cloudinary: Cloud-based image and video management solution.
  • Next-Cloudinary: Integration for Cloudinary in Next.js apps.

Payments

  • Stripe: Payment processing and checkout.

Utilities

  • Axios: Promise-based HTTP client for API calls.
  • Cookies-Next: Cookie management in Next.js.

Development Tools

  • TypeScript: Strongly typed programming language.
  • ESLint: JavaScript/TypeScript linting tool.
  • PostCSS: Tool for transforming CSS with JavaScript plugins.

Testing & Linting

  • @types: Type definitions for TypeScript and libraries.
  • ESLint-Config-Next: Next.js-specific linting configurations.

🚀 Installation

Follow these steps to set up and run the application locally:

  1. Clone the Repository:
    git clone https://github.com/Eng1Mahmoud/e-commerce-next-app.git
    cd e-commerce-next-app

🤝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📜 Commit Guidelines

We follow conventional commits specification:

  • feat: New features
  • fix: Bug fixes
  • docs: Documentation changes
  • style: Code style changes
  • refactor: Code refactoring
  • test: Test updates
  • chore: Build process or auxiliary tool changes

🐛 Bug Reports

If you discover any bugs, please create an issue here including:

  1. Bug description
  2. Steps to reproduce
  3. Expected behavior
  4. Actual behavior
  5. Screenshots (if applicable)

👨‍💻 Author

Mahmoud Mohamed

  • GitHub: @Eng1Mahmoud

    If you found this project useful, please consider giving it a ⭐️

Releases

No releases published

Packages

No packages published