- Authentication with JWT Tokens
- Password hashing with salt (bcrypt)
- SQLite (In-memory)
- CSRF protection (with
csurf) - Jade template engine
- Sessions stored in SQLite DB
-
Install dependencies:
yarn install # or npm install -
Start the server:
npm start
The webserver will start at http://localhost:3000
For HTTPS, please check the
httpsbranch!
- Visit
/loginto log in. - Use the following credentials:
- mike : password
- clarissa : password
- gipson : password
- After login, access:
/dashboardfor the main user interface/usageto view data usage/billingto manage payments
- Session Secret: Configure SESSION_SECRET as an environment variable in production.
- Session Store: The session store uses in-memory SQLite. For production, use a persistent database file.
- CSRF: Enabled via cookie-based tokens for all relevant routes.
.
├── index.mjs
├── package.json
├── services/
│ ├── databaseService.mjs
│ ├── loginService.mjs
│ └── statsService.mjs
└── views/
├── billing.jade
├── dashboard.jade
├── login.jade
└── usage.jade
- Gipson Bachman
- Clarissa Bernardo
- Michael Langmayr