forked from jason/echo
116 lines
2.4 KiB
Markdown
116 lines
2.4 KiB
Markdown
|
|
---
|
|||
|
|
type: project
|
|||
|
|
status: active
|
|||
|
|
source: git.alwisp.com
|
|||
|
|
repo: jason/pos
|
|||
|
|
repo_url: https://git.alwisp.com/jason/pos
|
|||
|
|
language: TypeScript
|
|||
|
|
branch: main
|
|||
|
|
tags:
|
|||
|
|
- repo
|
|||
|
|
- jason
|
|||
|
|
- alwisp
|
|||
|
|
updated: 2026-05-29
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# pos
|
|||
|
|
|
|||
|
|
**Repository:** [jason/pos](https://git.alwisp.com/jason/pos) · branch `main` · TypeScript
|
|||
|
|
|
|||
|
|
## Summary
|
|||
|
|
|
|||
|
|
Full-stack TypeScript point-of-sale system — Android POS frontend, Node/Express API, and React admin UI packaged in a single Docker container
|
|||
|
|
|
|||
|
|
## Current status
|
|||
|
|
|
|||
|
|
Active. Synced from Gitea on 2026-05-29.
|
|||
|
|
|
|||
|
|
## Documentation overview
|
|||
|
|
|
|||
|
|
# README.md
|
|||
|
|
|
|||
|
|
## Overview
|
|||
|
|
|
|||
|
|
This project is a full-stack TypeScript point-of-sale (POS) system: an Android POS frontend, a Node/Express API backend, and a React admin UI, all packaged in a **single Docker container**.
|
|||
|
|
|
|||
|
|
The backend exposes REST APIs for the Android app and serves the React admin UI for vendor configuration and reporting.
|
|||
|
|
|
|||
|
|
***
|
|||
|
|
|
|||
|
|
## Tech Stack
|
|||
|
|
|
|||
|
|
- Node.js + TypeScript (Express or Fastify)
|
|||
|
|
- React + TypeScript (SPA)
|
|||
|
|
- SQL database (PostgreSQL in production; SQLite acceptable for local/demo)
|
|||
|
|
- Docker (single container for API + admin UI)
|
|||
|
|
|
|||
|
|
***
|
|||
|
|
|
|||
|
|
## Project Structure
|
|||
|
|
|
|||
|
|
Example layout (subject to refinement):
|
|||
|
|
|
|||
|
|
- `server/` – Node/TypeScript backend (Express/Fastify, Prisma, migrations)
|
|||
|
|
- `client/` – React/TypeScript admin UI
|
|||
|
|
- `android/` – Android POS app (separate repo or module)
|
|||
|
|
- `Dockerfile` – single-image build for backend + admin
|
|||
|
|
- `docker-compose.yml` – optional local DB wiring
|
|||
|
|
- `AGENTS.md`, `INSTRUCTIONS.md`, `ROADMAP.md` – agent and project docs
|
|||
|
|
|
|||
|
|
***
|
|||
|
|
|
|||
|
|
## Prerequisites
|
|||
|
|
|
|||
|
|
For local (non-Docker) runs:
|
|||
|
|
|
|||
|
|
- Node.js 20+ installed
|
|||
|
|
- npm or pnpm
|
|||
|
|
- PostgreSQL (or SQLite if configured)
|
|||
|
|
|
|||
|
|
For Docker runs:
|
|||
|
|
|
|||
|
|
- Docker Engine (and optionally Docker Compose)
|
|||
|
|
|
|||
|
|
***
|
|||
|
|
|
|||
|
|
## Environment Variables
|
|||
|
|
|
|||
|
|
Backend expects:
|
|||
|
|
|
|||
|
|
- `PORT` – HTTP port (default: 8080)
|
|||
|
|
- `NODE_ENV` – `development` or `production`
|
|||
|
|
- `DATABASE_URL` – connection string (e.g., Postgres)
|
|||
|
|
- `JWT_SECRET` – secret for JWT signing
|
|||
|
|
- `LOG_LEVEL` – optional (`info`, `debug`, etc.)
|
|||
|
|
|
|||
|
|
Document any additional env vars you introduce in this section.
|
|||
|
|
|
|||
|
|
***
|
|||
|
|
|
|||
|
|
## Local Development (Without Docker)
|
|||
|
|
|
|||
|
|
Backend:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# from /server
|
|||
|
|
npm install
|
|||
|
|
npm run dev # or equivalent, e.g. ts-node-dev / nodemon
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Admin UI:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# from /client
|
|||
|
|
npm install
|
|||
|
|
npm run dev # Vite/CRA dev server
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
You can either:
|
|||
|
|
|
|||
|
|
|
|||
|
|
…(truncated — see repo)
|
|||
|
|
|
|||
|
|
## Notes
|
|||
|
|
|
|||
|
|
- Project file auto-created from repo documentation.
|