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
- Host: GitHub
- URL: https://github.com/ariqf1/project_cashier
- Owner: AriqF1
- License: mit
- Created: 2025-05-27T15:25:36.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2025-05-31T03:58:08.000Z (5 months ago)
- Last Synced: 2025-06-09T03:28:04.628Z (4 months ago)
- Topics: clerk-auth, nextjs, ngrok, postgresql-database, supabase-storage, xendit
- Language: TypeScript
- Homepage:
- Size: 312 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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.