Built step by step with Devin AI and Next.js 15 for seamless development.
π Table of Contents
- β¨ Introduction
- βοΈ Tech Stack
- π Features
- π€Έ Quick Start
- π Project Structure
- ποΈ Database Schema
- π Contacts
Nike-style eCommerce built with Devin AI, Next.js, Drizzle ORM, and Better Auth. In this project, youβll master prompting as Devin helps generate sleek product pages powered by Next.js 15, TypeScript, and TailwindCSS. The backend runs on Neon PostgreSQL with Drizzle ORM, authentication is handled with Better Auth, and Zustand manages state β all packaged in a clean, modular UI to help you ship faster.
-
Better Auth is a framework-agnostic authentication and authorization library for TypeScript. It provides built-in support for email and password authentication, social sign-on (Google, GitHub, Apple, and more), and multi-factor authentication, simplifying user authentication and account management.
-
Devin AI is an autonomous AI software engineer by Cognition Labs that independently plans, writes, debugs, and deploys full applications from natural language prompts. It integrates with tools like Slack, Linear, and Jira to manage tasks and pull requests, and learns new technologies on the fly by reading documentation.
-
Drizzle ORM is a lightweight and performant TypeScript ORM designed with developer experience in mind. It provides a seamless interface between application code and database operations while maintaining high performance and reliability.
-
Neon is a fully managed, serverless PostgreSQL database platform. It offers features like instant provisioning, autoscaling, and database branching, enabling developers to build scalable applications without managing infrastructure.
-
Next.js is a powerful React framework for building full-stack web applications. It simplifies development with features like server-side rendering, static site generation, and API routes, enabling developers to focus on building products and shipping quickly.
-
TailwindCSS is a utility-first CSS framework that allows developers to build custom, responsive designs quickly without leaving their HTML. It provides pre-defined classes for layout, typography, colors, and more.
-
TypeScript is a superset of JavaScript that adds static typing, providing better tooling, code quality, and error detection for developers. It is ideal for building large-scale applications and enhances the development experience.
-
Zustand is a minimal, hook-based state management library for React. It lets you manage global state with zero boilerplate, no context providers, and excellent performance through selective state subscriptions.
The entire interface of Velvet Pour β GSAP Cocktail Website is crafted to deliver a smooth, immersive, and visually stunning experience. From scroll-triggered sections to animated carousels and video-synced storytelling, every element follows a modern, elegant, and responsive design system that enhances both interactivity and aesthetics.
π Landing Page: A fast, engaging homepage that introduces your brand and products with smooth animations and clear calls to action.
π Product Listing Page: Browse all products with filters, sorting, and real-time availabilityβpowered by Devin AI-generated content for dynamic updates.
π Product Details Page: Detailed product info, images, and reviews with AI-enhanced descriptions to help customers make confident buying decisions.
π Auth Pages: Secure and seamless user signup, login, and password recovery using Better Auth, ensuring smooth access without backend hassles.
And many more, including code architecture and reusability.
Follow these steps to set up the project locally on your machine.
Prerequisites
Make sure you have the following installed on your machine:
Cloning the Repository
git clone https://github.com/Itssanthoshhere/Nike-Ecommerce.git
cd Nike-EcommerceInstallation
Install the project dependencies using npm:
npm installSet Up Environment Variables
Create a new file named .env in the root of your project and add the following content:
# Database
DATABASE_URL="postgresql://username:password@host:port/database"
# Better Auth
BETTER_AUTH_SECRET="your-secret-key-here"
BETTER_AUTH_URL="http://localhost:3000"
# GitHub OAuth (optional)
GITHUB_CLIENT_ID=""
GITHUB_CLIENT_SECRET=""
# Google OAuth (optional)
GOOGLE_CLIENT_ID=""
GOOGLE_CLIENT_SECRET=""Replace the placeholder values with your credentials. You can get these by signing up at: **NeonDB **, Better-Auth.
Running the Project
npm run devOpen http://localhost:3000 in your browser to view the project.
src/
βββ app/
β βββ api/auth/[...all]/route.ts # Better Auth API routes
β βββ page.tsx # Homepage
βββ lib/
β βββ auth/
β β βββ index.ts # Better Auth configuration
β βββ db/
β βββ index.ts # Database connection
β βββ schema.ts # Database schema
βββ store/
βββ auth.ts # Authentication state
βββ cart.ts # Shopping cart state
The application includes the following tables:
- users: User accounts and profiles
- sessions: User sessions for Better Auth
- accounts: OAuth accounts and credentials
- verifications: Email verification tokens
- products: Product catalog
- orders: Customer orders
- order_items: Individual items in orders
Feel free to connect with me:
- GitHub: Itssanthoshhere
- LinkedIn: Santhosh VS
If you liked this project, give it a β and share it with others!