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

https://github.com/ariqf1/project_cashier

Learning the development of next js based website for efficient cashier operation
https://github.com/ariqf1/project_cashier

clerk-auth nextjs ngrok postgresql-database supabase-storage xendit

Last synced: 4 months ago
JSON representation

Learning the development of next js based website for efficient cashier operation

Awesome Lists containing this project

README

          

# ๐Ÿ’ธ Project Cashier

A modern cashier web application built with **Next.js**, **TypeScript**, and **Prisma ORM**. This project is designed to simulate a point-of-sale (POS) system for small to medium businesses. It includes features like product management, transaction handling, and database integration.

---

## ๐Ÿš€ Features

- ๐Ÿ” Authentication ( clerk authentication)
- ๐Ÿงพ Transaction handling
- ๐Ÿ“ฆ Product and inventory management
- ๐Ÿ“Š Dashboard (future implementation)
- ๐Ÿงฉ Component-based architecture
- ๐Ÿ›ข๏ธ Prisma + PostgreSQL (or other SQL DB)
- ๐Ÿ’… Styled with Tailwind CSS

---

## Folder Structure

```bash
project_cashier/
โ”œโ”€โ”€ prisma/ # Prisma schema and seed script
โ”‚ โ”œโ”€โ”€ schema.prisma
โ”‚ โ””โ”€โ”€ seed.ts
โ”œโ”€โ”€ public/ # Static assets (e.g., favicon)
โ”œโ”€โ”€ src/
โ”‚ โ”œโ”€โ”€ app/ # Next.js App Router pages
โ”‚ โ”œโ”€โ”€ components/ # Reusable UI components
โ”‚ โ”œโ”€โ”€ lib/ # Utilities and Prisma client
โ”‚ โ””โ”€โ”€ types/ # TypeScript type definitions
โ”œโ”€โ”€ .env.example # Example environment variables
โ”œโ”€โ”€ components.json # Auto-import config (Nuxt-style setup or tooling)
โ”œโ”€โ”€ eslint.config.js # ESLint configuration
โ”œโ”€โ”€ next.config.js # Next.js configuration
โ”œโ”€โ”€ package.json # Project metadata and dependencies
โ”œโ”€โ”€ postcss.config.js # PostCSS configuration
โ”œโ”€โ”€ prettier.config.js # Prettier configuration
โ”œโ”€โ”€ start-database.sh # Shell script to start local database
โ”œโ”€โ”€ tsconfig.json # TypeScript configuration
โ””โ”€โ”€ README.md # Project documentation
```

## INFO

Please make sure to read the .env.example and make configurate the key needed in supabase

```
DATABASE_URL="postgresql://postgres:password@localhost:5432/simple-pos"
DIRECT_URL="postgresql://postgres:password@localhost:5432/simple-pos"

NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY="clerk-public-key"
CLERK_SECRET_KEY="clerl-private-key"

NEXT_PUBLIC_SUPABASE_URL="next-public-supabase-url"
NEXT_PUBLIC_SUPABASE_ANON_KEY="next-public-supabase-anon-key"
SUPABASE_SERVICE_ROLE_KEY= "supabase-service-role-key"
```

## Setup Instructions

1. Clone the repository

```
git clone https://github.com/AriqF1/project_cashier.git
cd project_cashier
```

2. Install dependencies

```
npm install
```

3. Setup environment variables

```
cp .env.example .env
```

4. Setup the database

```
npx prisma migrate dev --name init
npx prisma db seed
```

## This project is licensed under the ๐Ÿ“„ MIT License.