This application facilitates the management of clients, jobs, tasks, users, inventory, and machinery for a signage company, designed to run offline on a local network. It incorporates real-time chat functionality and user authentication.
- Frontend: React.js with TypeScript
- Backend: Node.js with Express.js
- Database: PostgreSQL
- Authentication: JSON Web Tokens (JWT)
- Real-time Communication: Socket.io
- Signup: Navigate to the signup page, fill in your details, and submit the form to create an account.
- Login: Use your credentials to log in. Successful authentication grants access to the dashboard.
- Provides an overview of clients, jobs, inventory, and machinery. Basic controls for navigation are included to access detailed management pages.
- Add, update, and remove clients. View detailed client information and manage associated jobs.
- Manage tasks, assign users, and track job completion.
- Monitor machine status. Includes CNC Routers, CO2 Lasers, etc. Logs job history and material usage.
- Track available materials and log changes in inventory levels for job allocation.
- Engage in real-time communication with other logged-in users.
-
[GET]
/api/clients
: Fetch all clients -
[POST]
/api/clients
: Create a new client -
[PUT]
/api/clients/:id
: Update client details -
[DELETE]
/api/clients/:id
: Remove a client -
[GET]
/api/jobs
: Fetch all jobs or filter by status -
[POST]
/api/jobs
: Create a new job entry -
[PUT]
/api/jobs/:id
: Update job details -
[DELETE]
/api/jobs/:id
: Delete a job record -
[GET]
/api/machinery
: Fetch all machinery records -
[POST]
/api/machinery
: Create machinery data entry -
[PUT]
/api/machinery/:id
: Update machinery details -
[DELETE]
/api/machinery/:id
: Remove a machinery record -
[GET]
/api/inventory
: Fetch all inventory items -
[POST]
/api/inventory
: Create new inventory item -
[PUT]
/api/inventory/:id
: Update inventory item details -
[DELETE]
/api/inventory/:id
: Remove an inventory item -
[GET]
/api/users
: Fetch all users (admin only) -
[POST]
/api/users
: Create a new user (signup) -
[PUT]
/api/users/:id
: Update user details -
[DELETE]
/api/users/:id
: Remove a user (admin only)
- Ensure Node.js, npm, and PostgreSQL are installed.
- Confirm local network IP address (e.g., 192.168.0.1).
-
Clone the Repository:
git clone <repository-url> cd signage-webapp
-
Install Dependencies:
cd backend npm install cd ../frontend npm install
-
Database Initialization: Execute SQL schema found in
backend/schema.sql
to set up PostgreSQL. -
Environment Configuration: Configure local IP in environment variables (if necessary)
-
Run the Application:
- Backend: Navigate to
backend
and runnpm start
. - Frontend: Navigate to
frontend
and runnpm start
.
- Backend: Navigate to
-
Ensure Connectivity: Confirm devices on the local network can reach the application through the host machine's IP.
-
Technical Support: For installation assistance, provide a detailed setup log for troubleshooting.