bởi Arslan Shakil

Invoice & Billing Manager System
A full-stack Invoice & Billing Manager built with TypeScript, React, and Express. This application enables users to manage clients, create and track invoices, and generate PDF documents. Features JWT-based authentication, SQLite persistence, and a responsive UI with real-time status tracking.
| Layer | Technology |
|---|---|
| Frontend | React 19, React Router 7, TypeScript, Tailwind CSS, Vite |
| Backend | Node.js, Express, TypeScript |
| Database | SQLite (via better-sqlite3) |
| Auth | JWT (jsonwebtoken), bcryptjs |
| Validation | Zod |
| PDFKit | |
| Build | Vite (frontend), TypeScript compiler (backend) |
cd backend
npm install
npm run build
npm start
The API server runs on port 9050 by default.
Development mode with hot-reload:
npm run dev
Environment Variables:
| Variable |
|---|
Khởi chạy sandbox cách ly và chạy phía máy chủ — không cần cài đặt cục bộ.
Đưa sản phẩm này thẳng vào AI IDE, trình tạo web hoặc cloud IDE của bạn.
Kết nối Tetrees với AI IDE tương thích để liệt kê sản phẩm bạn sở hữu và nhận ZIP đã xác minh mà không cấp quyền tải lên của người bán.
Chưa có đánh giá.
Sign in to join the discussion
Loading discussion…
| Default |
|---|
| Description |
|---|
PORT | 9050 | HTTP server port |
JWT_SECRET | invoice_secret_key_2024 | JWT signing secret (set in production) |
cd frontend
npm install
npm run dev
The frontend runs on port 5173 by default (Vite dev server).
Build for production:
npm run build
All endpoints are prefixed with /api. Protected endpoints require a Bearer token in the Authorization header.
GET /api/healthReturns server status. No authentication required.
curl http://localhost:9050/api/health
Response:
{
"status": "ok",
"timestamp": "2024-06-15T10:30:00.000Z"
}
POST /api/auth/registerCreate a new user account.
Request body:
{
"email": "user@example.com",
"password": "password123",
"name": "Jane Smith"
}
POST /api/auth/loginAuthenticate and receive a JWT token.
Request body:
{
"email": "user@example.com",
"password": "password123"
}
Response:
{
"data": {
"token": "eyJhbGciOiJIUzI1NiIs...",
"user": {
"id": "uuid",
"email": "user@example.com",
"name": "Jane Smith"
}
}
}
GET /api/clientsList all clients for the authenticated user.
POST /api/clientsCreate a new client.
Request body:
{
"name": "Acme Corp",
"email": "contact@acme.com",
"phone": "+1 (555) 000-0000",
"address": "123 Main St, City, State 12345"
}
PUT /api/clients/:idUpdate a client by ID.
DELETE /api/clients/:idDelete a client by ID.
GET /api/invoicesList all invoices for the authenticated user.
POST /api/invoicesCreate a new invoice.
Request body:
{
"clientId": "uuid",
"dueDate": "2024-12-31",
"lineItems": [
{
"description": "Web Design",
"quantity": 1,
"unitPrice": 5000
}
],
"notes": "Thank you for your business"
}
PUT /api/invoices/:idUpdate an invoice (status, line items, due date, etc.).
DELETE /api/invoices/:idDelete an invoice by ID.
GET /api/invoices/:id/pdfDownload invoice as PDF.
Tetrees License
Lần kiểm định sandbox đã hoàn tất và đường chạy được phát hiện đã đạt yêu cầu.
This Express backend / api completed archive review with strong static results. Structure, dependency manifests, documentation, functional source, and common risk patterns were checked by the Tetrees verification pipeline; runtime phases are stated separately. Final verified scores after isolated runtime evidence: overall 8.8 and security 9.
Deterministic AVCP artifact review
Quy trình avcp-2026-08-04.1 · SHA-256 eecbcfb813dd5410…
This version-scoped review deterministically inspects the submitted archive for structure, dependencies, documentation, functional source, and common malicious or high-risk signals. Build and test phases are reported as passed only after an isolated sandbox audition. It is not a guarantee of perfect security.
Đã đánh giá 7 thg 8, 2026
Hướng dẫn cài đặt đầy đủ và prompt tích hợp sẽ mở khóa sau khi mua.
Automation, Utilities & Developer Tools
6 US$