| Version 2 (modified by , 4 days ago) ( diff ) |
|---|
Build Instructions
Development environment
- Node.js 20+ and npm
- PostgreSQL client (psql) for running the SQL scripts
- SSH access to the faculty database server (credentials in EPRMS → Databases)
- Operating system: macOS / Linux / Windows
Required software
- Node.js and npm (frontend + backend)
- An SSH client (built into macOS/Linux; on Windows use OpenSSH or PuTTY)
Build instructions
- Install dependencies:
cd server && npm install cd ../client && npm install
- Create
server/.envwith the faculty database connection (values from EPRMS → Databases):DATABASE_URL="postgresql://<DB_USER>:<DB_PASSWORD>@localhost:5433/<DB_NAME>?schema=project" SSH_HOST=<SSH_HOST> SSH_USER=<SSH_USER> SSH_PASSWORD=<SSH_PASSWORD>
- Generate the Prisma client:
cd server && npx prisma generate
- (First time only) create the schema and load sample data through the tunnel:
psql "<connection string>" -f database/schema_creation.sql psql "<connection string>" -f database/data_load.sql
Testing instructions
- Open the SSH tunnel to the faculty database (keep this terminal open):
./tunnel.sh
The tunnel forwards local port 5433 to the faculty database's PostgreSQL port. - Start the backend (second terminal):
cd server && npm run dev
- Start the frontend (third terminal):
cd client && npm run dev
- Open the application at http://localhost:5174
Demo login
All demo accounts use the password: demo1234
- Admin: admin@… — full access: create/assign tasks, issue invoices, manage clients and domains.
- Workers: bojan@…, marija@…, ivana@… — execute assigned tasks, log time, upload files.
- Clients: goran@…, elena@…, stefan@… — view their own projects, tasks, and invoices.
Suggested accounts for the demo:
- Log in as admin@… to demonstrate UC0001 (create + assign task) and UC0003 (issue invoice).
- Log in as goran@… to demonstrate UC0002 (client views project and task status).
Main features to test
- Create + assign a task (UC0001): Tasks → New Task → choose client, project, worker → Add Task.
- Client project view (UC0002): log in as a client to see their own projects and task status.
- Issue an invoice (UC0003): Invoices → pick a client, add line items → the system computes subtotal, tax, and total.
Note:
See TracWiki
for help on using the wiki.
