Skip to content

Latest commit

 

History

24 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

University Administration App

A Single Page Application (SPA) for managing university students, courses, enrollments, and grades. Built with Node.js, Express, SQLite, and JavaScript.

Final Project for TIN (Internet Technologies) Author: Vitalii Korytnyi (s31719)


Features

Authentication & Roles

  • Guest: Can view the home page and course list (read-only). Can Register and Login.
  • Student: Can view their own profile, enrolled courses, and grades.
  • Admin: Full CRUD (Create, Read, Update, Delete) permissions for Students and Courses.

Functionality

  • Single Page Application (SPA)
  • Student Management: Add, edit, delete, and view student profiles.
  • Course Management: Create, edit, and delete courses.
  • Enrollment System:
    • Admin can enroll students into courses.
    • Admin can assign grades (Validation: 2.0 to 5.0).
    • Admin can remove students from courses.
  • Internationalization (i18n): dynamic switching between English (EN) and Polish (PL) languages.

Technical Highlights

  • Backend: Node.js + Express.
  • Database: SQLite (Auto-initializes tables and seed data).
image
  • Security: Password hashing (bcryptjs), Session management (express-session), Backend API validation.
  • Frontend: Pure Vanilla JavaScript (ES6 Modules) - No heavy frameworks like React or Vue.

Installation & Setup

1. Prerequisites

  • Node.js (v14 or higher recommended)
  • NPM (comes with Node.js)

2. Clone/Download

Navigate to your project directory:

cd ..\UniversityApp\

3. Install the required packages (express, sqlite3, bcryptjs, express-session, etc.):

npm install

4. Database Initialization

Generate the DataBase (if not present in folder)

node dbInitializer.js

On the first run, it checks for university-app (SQLite DB file). If missing, it runs public/dbScripts/create.sql to create tables. It then runs public/dbScripts/data.sql to seed initial data.


How to run?

1. Start the server:

node server.js

2. Open your browser and visit:

http://localhost:3000

Default Accounts (Seed Data)

Role Username Password
Admin admin Admin123!
Student artem Artem123!
Guest guest Guest123!

About

JS, EJS, HTML, CSS, EXPRESS.js

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages