Skip to content

akrjuger/521509-typoteka-3

 
 

Repository files navigation

Личный проект «Типотека»

Личный проект по курсу HTML академии Node.js. Разработка серверов приложений и API.

###О проекте «Типотека» — приложение для быстрого создания персональных блогов. Несколько простых шагов и вы автор современной площадки для публикации заметок. «Типотека» — это не только создание контента. Любой желающий читатель может зарегистрироваться и оставить комментарии. Создавайте заметки, общайтесь с читателями, модерируйте контент вместе с «Типотека».

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

Требования по окружению

  • node.js 14.15.4 LTS
  • PostgreSQL 12

Инициализация приложения

  1. Создаем файл .env в корне по аналогии с .env.example. Для работы вебсокетов, нужно также обновить данные для подключения в ./src/express/public/js/data-uploader.js

  2. Устанавливаем зависимости

npm install

Настройка БД

  1. Создание баз (основной и для тестов).
psql -U postgres -W -h localhost -a -f create-db.sql
psql -U postgres -W -h localhost -a -f create-test-db.sql
  1. Коннектимся к серверу
psql -U postgres -W -h localhost
  1. Создание пользователей для основной и тестовой базы. !не используй пароль по умолчанию!
CREATE USER "typoteka_user" WITH ENCRYPTED PASSWORD 'password';
CREATE USER "typoteka_test_user" WITH ENCRYPTED PASSWORD 'password';
  1. Выдаем доступ к базе для созданного пользователя
GRANT ALL PRIVILEGES ON DATABASE "typoteka" TO "typoteka_user"; 
GRANT ALL PRIVILEGES ON DATABASE "typoteka_test" TO "typoteka_test_user"; 
  1. Отключаемся от базы \q.

  2. Выполняем все необходимые миграции.

npm run migrate:all
  1. При необходимости наполняем тестовыми данными. Это операция сотрет данные, если он были добавлены. Можно менять количество добавляемых статей последним параметром.
node ./src/service/service.js --generate 20

Если данные были сгенерированы таким образом, то вот доступы для автора и читателя:

Автор
email: example@example.com
password: 123456

Читатель
email: example1@example.com
password: 123456
  1. Запускаем тесты.
npm run test

Старт приложения

  1. Запускаем API сервис
npm run start

##Схема БД Подробная схема sql лежит в /schema.sql

Схема БД

About

Александр Кригер

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 46.5%
  • HTML 46.0%
  • Pug 7.0%
  • Shell 0.5%