Skip to content

EvgPov/student-management-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Панель управления студентами

Курсовая работа по JavaScript. Реализована полноценная панель управления списком студентов с клиентской частью и собственным REST API бэкендом.

Особенности проекта

  • Фронтенд - чистый Vanilla JS (без фреймворков)
  • Бэкенд - Node.js + HTTP-сервер (без Express)
  • Данные хранятся в db.json
  • Полная реализация CRUD-операций
  • Валидация на клиенте и сервере
  • Фильтрация, сортировка, добавление и удаление

Функции

Клиентская часть

  • Таблица студентов с данными:

    • Ф. И. О.
    • Факультет
    • Дата рождения и возраст
    • Годы обучения и курс
    • Кнопка удаления
  • Сортировка по клику на заголовок колонки:

    • по ФИО (в алфавитном порядке)
    • по факультету
    • по дате рождения
    • по году начала обучения
  • Фильтры:

    • Поиск ФИО (подстрока в имени, отчестве или фамилии)
    • По факультету (точное совпадение)
    • По году начала обучения (точное совпадение)
    • По году окончания обучения (точное совпадение)
  • Форма добавления студента с валидацией:

    • Все поля обязательны
    • Имя, отчество и фамилия должны быть не короче 2 символов, состоять из букв русского или английского алфавитов, а также могут содержать знаки пробела и дефиса
    • Дата рождения: не ранее 100 лет назад и не позднее 10 лет назад от текущей даты
    • Год начала обучения: от 2000 до текущего года

REST API (бэкенд)

Запускается на http://localhost:3000

Метод URL Описание
GET /api/students Получить список студентов (?search=search string)
POST /api/students Добавить студента
GET /api/students/{id} Получить студента по ID
PATCH /api/students/{id} Обновить студента
DELETE /api/students/{id} Удалить студента

Структура объекта студента

{
  "id": "1701234567890",
  "name": "Иван",
  "surname": "Иванов",
  "lastname": "Иванович",
  "birthday": "2002-05-15",
  "studyStart": "2021",
  "faculty": "Информатика и ВТ",
  "createdAt": "2025-04-05T10:20:30.123Z",
  "updatedAt": "2025-04-05T10:20:30.123Z"
}

Запуск проекта

  1. Склонируйте репозиторий
git clone https://github.com/EvgPov/StudentControlPanel.git
  1. Запустите сервер
npm run start

Сервер запустится на http://localhost:3000 3. Откройте index.html в браузере

Технологии

  • Frontend: HTML, CSS (Flexbox / Grid), Vanilla JavaScript (ES6+)
  • Backend: Node.js, встроенный http, fs (без сторонних зависимостей)
  • Хранение данных: db.json
  • CORS: включён (Access-Control-Allow-Origin: *)

About

Полноценная панель управления студентами. Frontend на Vanilla JS + Backend на чистом Node.js (CRUD, фильтрация, сортировка, валидация).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors