A sample full-stack application for managing document analysis measurements, samples, spectra, and user administration. Project made in scope of engineering thesis. Backend part available at doc-tracer-backend.
This project demonstrates a Document Analysis App allowing users to:
- Register/login (authentication)
- Manage measurements and samples (create/read/update/delete)
- Explore measurement details, sample details, and spectral data
- Visualize spectral data in a chart
- Administer users and roles (in an Admin Panel)
The mock server provides local endpoints simulating user authentication and example data for measurements, samples, and spectra. The Angular frontend consumes these endpoints and renders the UI.
-
User Authentication:
- Login and registration pages
- Role-based access control (viewer, editor, admin)
-
Measurements Management:
- Create, edit, view, and delete measurements
- Assign materials, device, conditions, and additional comments
-
Samples Management:
- Create and edit sample data, including spectral data (JSON or CSV import)
- Sample details with chart visualization
-
Admin Panel:
- Manage users (active status, roles) via a grid interface
-
Spectral Data Comparison:
- Compare multiple samples’ spectral data on a chart with zoom and pan features
- Frontend: Angular (standalone components, TypeScript)
- Backend (Mock): Node.js + Express
- Styling: Bootstrap, SCSS
- Charting: Chart.js with
ng2-chartsand zoom plugin - Data Grid: AG Grid
- Node.js >= 16.x
- npm >= 8.x (or yarn >= 1.22.x)
- A modern browser (Chrome, Firefox, Edge) for viewing the app
From the root of the repository (where package.json might live for the Angular app), install the required dependencies:
npm installIf you have a separate
package.jsonfor the mock server, also runnpm installinmock-server/. However, this project can usually run the mock server with only express, cors, body-parser, and morgan installed — which are already in the snippet.
- Navigate to the
mock-server/directory:cd mock-server - Start the server:
node server.js
- The server runs by default on port 8080.
- Available endpoints are prefixed by
/api/....
In another terminal, from the main project directory, run:
npm startOr to serve in development mode:
ng serve --open- By default, Angular will serve at
http://localhost:4200.
Note: Ensure your
environment.development.ts(orenvironment.ts)apiUrlproperty points to the mock server base URL:http://localhost:8080/api.