med-cms 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,7 +1,11 @@
1
- # MED-CMS (v1.0.0)
1
+ # MED-CMS (v1.2.0)
2
2
 
3
3
  > ## `med-cms` — Это автономный медецинский движок для управления сетями клиник, персоналом и расписание приймов и т.д. Написан `med-cms` на node.js с использованием **express**, **sequelize**
4
4
 
5
+ <p align="center">
6
+ <img src="public/icon/icon.png" alt="MED-CMS Logo" width="200"/>
7
+ </p>
8
+
5
9
  ### Модуль поставляется со встроенной базой данных, системой разграничения прав доступа на основе **34 медицинских специальностей** и готовым веб-интерфейсом (АРМ Врача, Личный Кабинет Пациента, Панель Суперадминистратора), а также готовой главной страницей
6
10
 
7
11
  ---
@@ -15,6 +19,7 @@
15
19
  - **Статистика болезней и МКБ-10:** Выделенный независимый справочник заболеваний в базе данных с возможностью автономной миграции и автоматическим инкрементом счетчиков заболеваемости при закрытии приемов врачами.
16
20
  - **Возможность управлять новостями** А админ панеле есть форма позволяющая выкладывать новости.
17
21
  - **Автозапись в `.env`** При запуске проекта код проверяет есть ли `.env` и настройки в нём, если то записывает настройки в него.
22
+ - **Автопроверка значений** Если вы не изменили значение в `.env` с по умолчанию то ваша консль будет заспамлена
18
23
 
19
24
  ---
20
25
 
package/check_env.js ADDED
@@ -0,0 +1,39 @@
1
+ const print = require("custom-color-logs").print;
2
+
3
+ (function enforceEnvSecurity() {
4
+ const isDefaultJWT = process.env.JWT_SECRET === "0000";
5
+ const isDefaultPass = process.env.ADMIN_PASSWORD === "1234";
6
+
7
+ if (isDefaultJWT || isDefaultPass) {
8
+ // Красивое стартовое предупреждение
9
+ console.log(
10
+ print.ServerMedSeqError(
11
+ "======================================================",
12
+ ),
13
+ );
14
+ console.log(print.ServerMedSeqWarn("ОБНАРУЖЕНЫ НАСТРОЙКИ ПО УМОЛЧАНИЮ!"));
15
+ console.log(
16
+ print.ServerMedSeqWarn(
17
+ "Безопасность системы под угрозой. Данные пациентов уязвимы.",
18
+ ),
19
+ );
20
+ console.log(
21
+ print.ServerMedSeqInfo(
22
+ "Пожалуйста, измените значения JWT_SECRET и ADMIN_PASSWORD в .env",
23
+ ),
24
+ );
25
+ console.log(
26
+ print.ServerMedSeqError(
27
+ "======================================================",
28
+ ),
29
+ );
30
+ const alertInterval = setInterval(() => {
31
+ console.log(
32
+ print.ServerMedSeqError(
33
+ "СРОЧНО СМЕНИТЕ ДЕФОЛТНЫЕ ДАННЫЕ В .env ДЛЯ БЕЗОПАСНОСТИ!",
34
+ ),
35
+ );
36
+ }, 4000);
37
+ alertInterval.unref();
38
+ }
39
+ })();
package/env_init.js CHANGED
@@ -7,7 +7,7 @@ const defaultEnvContent = `
7
7
 
8
8
 
9
9
  # ==============================================================================
10
- # MED-CMS (v1.0.0)
10
+ # MED-CMS (v1.2.0)
11
11
  # ==============================================================================
12
12
 
13
13
  # Специяльный тег инициализации (значение не меняйте)
@@ -15,18 +15,18 @@ MED_CMS_INITIALIZED = true
15
15
 
16
16
 
17
17
  # Код который будет хешироваться в куки
18
- JWT_SECRET = 0000
18
+ JWT_SECRET = "0000"
19
19
 
20
20
 
21
21
  # Данные админа
22
22
  # Почта админестратора
23
- ADMIN_GMAIL = x@gmail.com
23
+ ADMIN_GMAIL = "x@gmail.com"
24
24
 
25
25
  # Телефон админестратора
26
- ADMIN_PHONE = +375 00 00000000
26
+ ADMIN_PHONE = "+375 00 00000000"
27
27
 
28
28
  # Пароль аккаунта админестратора
29
- ADMIN_PASSWORD = 1234
29
+ ADMIN_PASSWORD = "1234"
30
30
  `;
31
31
 
32
32
  function initializeEnvironment() {
package/index.js CHANGED
@@ -6,6 +6,7 @@ const logger = require("custom-color-logs").print;
6
6
  const path = require("path");
7
7
  const fs = require("fs");
8
8
  require(path.join(__dirname, "env_init.js"));
9
+
9
10
  // Оставляем только импорт самого модуля базы данных
10
11
  const dbConfig = require(
11
12
  path.join(__dirname, "database", "config", "db-init.js"),
@@ -97,6 +98,8 @@ async function init(app) {
97
98
  rout.use("/med", r_web);
98
99
  rout.use("/med/api", r_api);
99
100
  app.use("/", rout);
101
+ console.log(logger.ServerMedInfo("Роуты подключены"));
102
+ require(path.join(__dirname, "check_env.js"));
100
103
  }
101
104
 
102
105
  module.exports = init;
package/package.json CHANGED
@@ -1,15 +1,27 @@
1
1
  {
2
2
  "name": "med-cms",
3
- "version": "1.0.0",
4
- "description": "Медицинская мультитендантная CMS на Express и Sequelize (SQLite3) с системой ролей и автоматическим расчетом участков",
3
+ "version": "1.2.0",
4
+ "description": "Медицинская мультитендантная CMS на Express и Sequelize (SQLite3) с системой ролей и автоматическим расчетом участков, а также защитой данных",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
7
7
  "scripts": {
8
8
  "test": "node test.js"
9
9
  },
10
10
  "keywords": [
11
- "medical",
11
+ "med-cms",
12
12
  "cms",
13
+ "medical-engine",
14
+ "clinic-management",
15
+ "hospital-system",
16
+ "arm-doctor",
17
+ "patient-cabinet",
18
+ "miz-by",
19
+ "mkb-10",
20
+ "express-cms",
21
+ "sequelize-cms",
22
+ "sqlite3-autonomous",
23
+ "autonomous-engine",
24
+ "medical",
13
25
  "express",
14
26
  "sequelize",
15
27
  "sqlite3",
Binary file
package/server/server.js CHANGED
@@ -575,28 +575,31 @@ function createMedRouter(jwtSecret) {
575
575
  phone: process.env.ADMIN_PHONE,
576
576
  });
577
577
  });
578
- api.get("/home", async (req, res) => {
578
+ web.get("/home", async (req, res) => {
579
579
  res.redirect("/med/html/home.html");
580
580
  });
581
- api.get("/general", async (req, res) => {
581
+ web.get("/general", async (req, res) => {
582
582
  res.redirect("/med/html/home.html");
583
583
  });
584
- api.get("/h", async (req, res) => {
584
+ web.get("/h", async (req, res) => {
585
585
  res.redirect("/med/html/home.html");
586
586
  });
587
- api.get("/главная", async (req, res) => {
587
+ web.get("/главная", async (req, res) => {
588
588
  res.redirect("/med/html/home.html");
589
589
  });
590
- api.get("/Главная", async (req, res) => {
590
+ web.get("/Главная", async (req, res) => {
591
591
  res.redirect("/med/html/home.html");
592
592
  });
593
- api.get("/Home", async (req, res) => {
593
+ web.get("/Home", async (req, res) => {
594
594
  res.redirect("/med/html/home.html");
595
595
  });
596
- api.get("/login", async (req, res) => {
596
+ web.get("/login", async (req, res) => {
597
597
  res.redirect("/med/html/login.html");
598
598
  });
599
- api.get("/вход", async (req, res) => {
599
+ web.get("/вход", async (req, res) => {
600
+ res.redirect("/med/html/login.html");
601
+ });
602
+ web.get("/med-login", async (req, res) => {
600
603
  res.redirect("/med/html/login.html");
601
604
  });
602
605