Skip to content

An e-commerce website example with NextJS that I made in 1 week as a self challenge. Using Firebase as backend.

License

Notifications You must be signed in to change notification settings

anhtran917/next-e-commerce

 
 

Repository files navigation


Header photo

E-Commerce Website

An e-commerce website example built with Next.js that I made in 1 week as a self challenge. There are some issues that I will handle later. Using Firebase as backend.

Contact me · Report Bug · Request Feature

Table of Contents

About The Project

I saw a UI design on Dribbble by Anton Mikhaltsov. And I wanted to code this design. So I decided to make it a full working website with NextJS but in just 1 week as challenge myself. Some issues are still there but I will check out them later.

  • Filter and Sort buttons are not working yet.
  • Website is not responsive %100 because of time was not enought. I am working on it currently. Now, it is responsive.
  • Firebase functions could be better
  • Home page(News In) cards has no redirects. They are just placeholders.

Built With

Screenshots

News In

Home Image

  • Cards has no links and they are static, they are just placeholders.

Categories

Categories Image

Product

Product Image

Cart

Cart Image

Account

Account Image

Getting Started

Prerequisites

  • Node.js version 10.13 or later
  • Git (I used 2.20.1)

Installation

  1. You need to create a firebase project

  2. Clone the repo and change the directory

git clone https://github.com/anilsenay/next-e-commerce.git
cd next-e-commerce
  1. Install NPM packages
npm install
  1. Create your .env.local file on root folder(next-e-commerce) with this content. Put your firebase keys.
NEXT_PUBLIC_FIREBASE_API_KEY = your-firebase-api-key
NEXT_PUBLIC_FIREBASE_PROJECT_ID = your-firebase-project-id
NEXT_PUBLIC_FIREBASE_APP_ID = your-firebase-app-id
  1. Run in development mode
npm run dev

Issues - Future plans

  • Filter and Sort buttons
  • Optimize firestore query functions
  • On cart page, decrease item button is not working
  • Website will be %100 responsive
  • Replace some HTML tags with semantic tags

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  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

Q & A

  • Question: I created Firebase project but I do not familiar with it. What should I do then? Answer: You can contact me about setting your Firebase project, I would gladly help you.

  • Question: I created Firebase project but I do not have database structure. What should I do then? Answer: Please contact me to get database structure I created.

  • Question: Why did not you share your database structure? Answer: I just want to know if someone is interest in this project :D

  • Question: How can I contribute? Answer: It makes me happy even if you just star this project. For code contributes, you can fork the repo and open a pull request after your changes. Any feedback is also important for me. You can open issue or send me message.

  • Question: Did you design UI? Answer: No, I did not design actually. I found home page design on Dribbble by Anton Mikhaltsov. Except home page, other UI choices is mine. While I made this website in limited time, I did not think on UI/UX a lot. So you can also feedback me about design.

License

Distributed under the GPL License. See LICENSE for more information.

Contact

@anilsenay

Project Link: https://github.com/anilsenay/next-e-commerce

About

An e-commerce website example with NextJS that I made in 1 week as a self challenge. Using Firebase as backend.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 70.5%
  • SCSS 27.7%
  • CSS 1.8%