SheLovesPlants is a full-stack e-commerce mock application built with Next.js, simulating a modern online plant shop with product listings, user accounts, and a cart system. Product and customer data are stored in a PostgreSQL database, with data access and modeling handled through Prisma, a type-safe ORM that streamlines queries and database migrations. User authentication — including registration and login — is implemented using Firebase Authentication, offering a secure and scalable solution for managing users.
- Product overview and detailed product pages
- Shopping cart functionality
- Add, update, or remove products from the cart
- Checkout process
- User account management
- User authentication (registration and login)
- Clone the repository
git clone https://github.com/Nella1a/next-js-ecommerce-store
cd next-js-ecommerce-store
-
Ensure that you have a PostgreSQL instance running, then create a database and user.
CREATE DATABASE mydatabase; CREATE USER myuser WITH PASSWORD 'mypassword'; GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser;
-
Create a .env file in the project’s root directory and set the environment variable for the database connection URL that Prisma ORM uses to connect to the database. For example:
POSTGRES_PRISMA_URL="postgresql://myuser:mypassword@localhost:5432/mydatabase?schema=hotdeals" -
Install dependencies
npm install -
Run database migrations
npx prisma migrate dev -
Run application
npm run start -
Open http://localhost:3000 on your browser.
- Next.js
- TypeScript
- PostgreSQL
- Prisma
- Firebase Authentication
- Emotion CSS
- Deployed to Vercel




