A full-stack web application for managing and displaying courses in a CV format, built with Node.js, Express, EJS, and a Postgres relational database.
User interface for managing CV courses
- ✅ Users can add, list, and delete courses stored in a Postgres database
- ✅ Server-side form validation using validator and custom logic
- ✅ Course data includes code, name, syllabus URL, and progression (A/B/C)
- ✅ Responsive layout built with semantic HTML and CSS
- ✅ Clean URL routing using Express Router
- ✅ EJS view engine for dynamic server-rendered pages
- 🔍 Focus on accessibility, data integrity, and simple modular structure
- HTML / CSS / JavaScript
- Node.js / Express.js
- EJS (Embedded JavaScript Templates)
- Postgres
- dotenv
- validator / sanitize-html (for input validation & sanitation)
- Render (for server deployment)
- GitHub (for version control and repo management)
npm install
npm run devA full-stack web application for managing and displaying courses "in a CV format", built with Node.js, Express, EJS, and a Postgres relational database.
Users can:
- Add new courses via a form
- View all stored courses
- Delete (and optionally update) courses
Each course includes:
- Course code,
- Course name,
- Syllabus URL,
- and progression (A–C)
Includes server-side validation, responsive layout, and follows best practices in backend web development. Built as part of the Backend-Based Web Development course at Mid Sweden University.
Part of folder structure
- ✅ Dependabot active
- ✅ Security policy configured
- ✅ Automatic CodeQL analysis
MIT – see LICENSE.md for details.