Skip to content

Latest commit

 

History

28 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SAMS Nepal

School Asset Management System · Version 1.0.0

Asset tracking, maintenance, transfers, and reporting for schools — with role-based access across province, municipality, and school.

This is an independent portfolio project. It is not an official government production system.

Author Pradip Kumar Prajapati
Version 1.0.0
License MIT
Copyright © 2026 Pradip Kumar Prajapati
Repository github.com/pradipNP/opensams

Live demo

The public demo is hosted on free tiers. The first visit after idle time can take up to a minute while Render and Neon wake.

What Where it is hosted URL
Web app (Vue) Cloudflare Pages https://opensams.pages.dev
API Render https://opensams.onrender.com
API health Render https://opensams.onrender.com/health
API docs (Swagger) Render https://opensams.onrender.com/api/docs
Database Neon (PostgreSQL) Not a public URL — the API connects over SSL

How to run this stack yourself: docs/Deployment-Guide.md.

Sample walkthrough

sample.mp4

Open the live app

Features

  • JWT authentication and three roles (State Administrator, Municipal Officer, School Administrator)
  • Scoped inventory: assets, categories, schools, and municipalities
  • Maintenance and inter-school transfer workflows
  • Dashboard KPIs and reports (XLSX / PDF)
  • User administration for the State Administrator role

Tech stack

Layer Technology
Frontend Vue 3, Vite, Vue Router, Pinia, Tailwind CSS
Backend Node.js, Express
Database PostgreSQL
Auth JWT, bcrypt, RBAC

Demo credentials

These accounts are for a public portfolio demo. Anyone can sign in. Visitors can create or change records.

The hosted demo can restore the original seed snapshot on a timer (default every 24 hours) when DEMO_RESET_ENABLED=true on the API. That is optional and off unless you set it. Local databases are not reset unless you run the reset yourself.

Role Email Password
State Administrator state.admin@sams.gov.np password
Municipal Officer municipal.butwal@sams.gov.np password
School Administrator school.kmg@sams.gov.np password

Try each role to see scoped dashboards, assets, maintenance, transfers, and reports.

Documentation

Document Description
docs/User-Guide.md How to use the application
docs/Deployment-Guide.md How to build and run frontend, backend, and database
docs/Production-Checklist.md Release checklist
docs/Technical-Documentation.md Architecture, RBAC, and folder structure
docs/SAMS-Nepal-Architecture-Plan.html As-built architecture plan (HTML)
docs/SAMS-Nepal-Architecture-Plan.pdf As-built architecture plan (PDF)
docs/API-CONTRACT.md REST API specification
docs/ER-DIAGRAM.md Database model

Local development

Requires Node.js 20+ and PostgreSQL. Copy backend/.env.example and frontend/.env.example to .env before the first run. Do not commit .env files.

Typical local values:

  • Frontend: http://localhost:5173
  • API: http://localhost:5001 (PORT=5001 in your local backend/.env)
  • Frontend API base: VITE_API_URL=http://localhost:5001/api/v1
  • PostgreSQL: set DATABASE_URL in local backend/.env
cd backend
npm install
npm run dev

cd frontend
npm install
npm run dev

The live demo does not use these localhost values. It uses the Cloudflare Pages and Render URLs in Live demo above. See the deployment guide and production checklist.

License

This project is licensed under the MIT License.

Copyright © 2026 Pradip Kumar Prajapati. See LICENSE for terms.

About

Open-source School Asset Management System (SAMS) with inventory tracking, maintenance, transfers, analytics, reporting, RBAC, and QR asset management.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages