A simple full-stack ticketing system for managing user-submitted issues. Built with:
- React (frontend)
- Express + Node.js (backend)
- PostgreSQL (database)
- User page to submit tickets (title, description, priority)
- Admin page to:
- View all tickets
- Edit ticket status, priority, or details
- Delete tickets
- Stores data in a PostgreSQL database
- Built with clean separation between frontend and backend
TicketSystem/
├── backend/ # Express backend
│ ├── server.js
│ └── .env
├── frontend/ # React frontend
│ ├── src/
│ │ ├── App.js
│ │ ├── UserPage.js
│ │ └── AdminPage.js
git clone https://github.com/your-username/ticket-system.git
cd ticket-systemCreate a database named db and run:
CREATE TABLE tickets (
id SERIAL PRIMARY KEY,
title VARCHAR(255),
description TEXT,
priority VARCHAR(50) DEFAULT 'Medium',
status VARCHAR(50) DEFAULT 'Open',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);cd backend
npm installCreate a .env file:
DATABASE_URL=postgres://postgres:yourpassword@localhost:5432/db
PORT=3001Then run:
node server.jscd ../frontend
npm install
npm startFrontend will run at http://localhost:3000
| Page | URL | Access |
|---|---|---|
| User Page | http://localhost:3000/user |
Create tickets |
| Admin Page | http://localhost:3000/admin |
Manage tickets |
- Authentication (login for admin)
- Pagination and search
- File uploads and comments on tickets
MIT