Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/haithanhphan1603/supabase-nuxt-ecommerce

๐Ÿ›’ E-commerce platform built with Vue, Nuxt, and Supabase. Features real-time data, secure authentication, and a responsive design for a seamless shopping experience.
https://github.com/haithanhphan1603/supabase-nuxt-ecommerce

ecommerce-website nuxtjs supabase tailwindcss typescript vue

Last synced: 18 days ago
JSON representation

๐Ÿ›’ E-commerce platform built with Vue, Nuxt, and Supabase. Features real-time data, secure authentication, and a responsive design for a seamless shopping experience.

Awesome Lists containing this project

README

        

# ๐Ÿ›๏ธ Vue E-commerce Platform

A modern e-commerce platform built with Vue.js, Nuxt.js, and Supabase, offering real-time updates, secure authentication, and a responsive shopping experience.

## โญ Features

- **Real-time Updates**
- Live inventory tracking
- Instant price updates
- Real-time cart synchronization
- Live order status tracking (In progress)

- **Secure Authentication**
- Email/password authentication
- Social media login integration (In progress)
- Role-based access control
- Secure session management

- **Responsive Design**
- Cross-browser compatibility
- Optimized for all screen sizes
- Touch-friendly interface

## ๐Ÿ› ๏ธ Tech Stack

- **Frontend**
- Vue.js 3
- Nuxt.js 3
- Tailwind CSS
- Pinia (State Management)
- Typescript

- **Backend**
- Supabase
- PostgreSQL
- Row Level Security
- Real-time subscriptions

## ๐Ÿ“‹ Prerequisites

- Node.js (v18 or higher)
- npm
- Supabase account
- Git

## ๐Ÿš€ Getting Started

1. **Clone the repository**
```bash
git clone https://github.com/haithanhphan1603/supabase-nuxt-ecommerce.git
cd supabase-nuxt-ecommerce
```

2. **Install dependencies**
```bash
npm install
```

3. **Configure environment variables**
Fill in your Supabase credentials in the `.env` file:
```
SUPABASE_URL=your_supabase_url
SUPABASE_KEY=your_supabase_anon_key
```

4. **Run development server**
```bash
npm run dev
```

## ๐Ÿ“ Project Structure
```
โ”œโ”€โ”€ ๐Ÿ“‚ .nuxt/ # Build directory
โ”œโ”€โ”€ ๐Ÿ“‚ assets/ # Uncompiled assets (images, styles, etc.)
โ”œโ”€โ”€ ๐Ÿ“‚ components/ # Vue components
โ”‚ โ”œโ”€โ”€ cart/ # Shopping cart components
โ”‚ โ”œโ”€โ”€ category/ # Category navigation and listing
โ”‚ โ”œโ”€โ”€ common/ # Shared/reusable components
โ”‚ โ”œโ”€โ”€ dialog/ # Modal and dialog components
โ”‚ โ”œโ”€โ”€ product/ # Product-related components
โ”‚ โ”œโ”€โ”€ section/ # Page section components
โ”‚ โ”œโ”€โ”€ ui/ # Base UI components
โ”‚ โ””โ”€โ”€ wishlist/ # Wishlist feature components
โ”œโ”€โ”€ composables/ # Vue composables (hooks)
โ”œโ”€โ”€ layouts/ # Page layouts
โ”œโ”€โ”€ lib/ # Utility functions and core logic
โ”œโ”€โ”€ middleware/ # Route middleware
โ”œโ”€โ”€ pages/ # Application pages/routes
โ”œโ”€โ”€ public/ # Static files
โ”œโ”€โ”€ server/ # Server-side logic and API routes
โ”œโ”€โ”€ store/ # Pinia stores
โ”œโ”€โ”€ types/ # TypeScript type definitions
โ”œโ”€โ”€ .env # Environment variables
โ”œโ”€โ”€ .eslintrc.json # ESLint configuration
โ”œโ”€โ”€ .gitignore # Git ignore patterns
โ”œโ”€โ”€ .prettierrc # Prettier configuration
โ”œโ”€โ”€ app.config.ts # App configuration
โ”œโ”€โ”€ app.vue # Root Vue component
โ””โ”€โ”€ components.json # Components configuration
```

## ๐Ÿ’ป Development

### Database Setup

1. Run the sql dump file

2. Enable Row Level Security (RLS) policies

### ๐Ÿ” Authentication Setup

1. Configure authentication providers in Supabase dashboard
2. Configure OAuth providers (if using social login)

## ๐Ÿš€ Deployment

1. **Build the application**
```bash
npm run build
```

2. **Deploy to your hosting platform**
```bash
npm run deploy
```

## ๐Ÿงช Testing (to be implemented)

```bash
# ๐ŸŽฏ Run unit tests
npm run test:unit

# ๐Ÿ”„ Run e2e tests
npm run test:e2e

# โœ… Run all tests
npm run test
```

## ๐Ÿค Contributing

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

## ๐Ÿ“œ License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## ๐Ÿ™ Acknowledgments

- Vue.js team
- Nuxt.js team
- Supabase team
- All contributors

---
Made with โค๏ธ by Phan Hai