ToolTrack is a web application designed for and together with OsloMet Makerspace to provide a digitalized database of tools available for students and staff. The solution is a React single-page application with .NET Core Web API, focused on user experience and universal design, serving as an improvement of the manual system today.
ToolTrack provides a centralized digital eqipment and inventory managment system for all tools available in OsloMet Makerspace.
- 🔍 Searchable Equipment Registry
- 🧑🎓 Role-Based Access Control
- ✍️ CRUD Operations
- 🔐 Authentication & Authorization (JWT)
- 📷 Image Handling (Upload & URL)
- 📎 QR Code Integration
- 📋 Swagger API Documentation
- Node.js 22.14 LTS
- npm 10+
- .NET 9.0 SDK
-
Navigate to the backend folder:
cd api -
Restore packages and run the server:
dotnet restore dotnet run
The backend will run at:
https://localhost:7219/
-
Navigate to the frontend folder:
cd client -
Install dependencies and start the React app:
npm install npm run dev
The frontend will run at:
http://localhost:3000/
Pre made user for testing and development.
Username : admin@oslomet.no Password : Admin123456!
Username : student@oslomet.no Password : Tests123456!
- URL: https://localhost:7219/swagger
⚠️ NOTE: Use HTTPS only – HTTP calls will fail due to JWT authentication.
- Open Swagger UI and click "Authorize"
- Log into the React app (admin account recommended) and copy the JWT token from the browser console
- Paste the token with prefix
Bearer(e.g.,Bearer eyJhbGci...) in the popup - Click "Authorize"
- Find the endpoint, click "Try it out", and then "Execute"
- React 18.3.1 – SPA architecture
- TypeScript 4.9.5 – Strong typing
- React Bootstrap 2.10.9 – Component-based UI
- Bootstrap 5.3.3 – CSS framework
- Bootstrap Icons 1.13.1 – Icon set
- React Router DOM 7.1.5 – Routing
- Axios 1.7.9 – HTTP client
- Formik 2.4.6 – Form handling
- JWT-Decode 4.0.0 – Decoding JWTs
- QRCode.react 4.2.0 – QR code rendering
- React Scripts 5.0.1 – Build scripts
- ASP.NET Core 9 (Web API)
- Entity Framework Core + SQLite – Lightweight DB
- ASP.NET Identity – User & role management
- JWT Authentication – Secure stateless sessions
- Swagger / Swashbuckle – API documentation
- Serilog – Structured logging
client/– React SPA with modular architectureapi/– ASP.NET Core API with services, DTOs, and DB seedingapi.tests/– Unit testingdocs/– Docs
This project was developed for academic purposes at OsloMet and is not currently licensed for commercial distribution. Contact the authors for permission before reuse.
Developers:
- Aina Haugen Aae
- Christine Marie Feldtmann Fischer Baasland
- Nathalie Piqué Kulsrud
- Robert Magnus Aubrey
Supervisors:
- Karan Singh Chaudhary (OsloMet)
- Notto Johannes Windju Thelle (OsloMet Makerspace)





