Skip to content
This repository was archived by the owner on Nov 30, 2024. It is now read-only.

urdekcah/beacon

Repository files navigation

beacon

Caution

УВЕДОМЛЕНИЕ: Данное программное обеспечение разработано исключительно для академических целей и представления школьного проекта. В настоящий момент код находится в стадии интенсивной разработки с крайним сроком завершения 26.11.2024, без проведения процедуры рефакторинга.

В связи с ограниченными временными рамками, процесс разработки ведется в ускоренном режиме, что существенно ограничивает возможности для тщательного анализа и оптимизации кода. На данном этапе мы не можем гарантировать надежность и функциональную пригодность приложения для практического использования.

Убедительно просим воздержаться от использования данного программного обеспечения до официального релиза. После завершения разработки и подтверждения готовности к эксплуатации, данное уведомление будет удалено из README.md в основной ветке репозитория.

Установка программы

Установка с использованием Docker Compose (в контейнере)

Чтобы запустить программу с использованием Docker Compose, необходимо предварительно установить Docker и Docker Compose. Если они еще не установлены, рекомендуется сначала установить, например, Docker Desktop.

Для пользователей Docker Compose следует создать файл .env в корневой директории со следующим содержимым:

DB_HOST="db"
DB_USER="baekgeon"
DB_PASSWORD="WowYouCanReallyDance!!"
DB_NAME="beacon"

Далее, чтобы запустить программу через Docker Compose, выполните следующую команду:

docker-compose up --build

Если вы хотите запустить программу в фоновом режиме, добавьте опцию -d:

docker-compose up -d

Чтобы проверить запущенные контейнеры Docker, используйте команду:

docker ps

Для остановки работающих контейнеров Docker выполните команду:

docker-compose down

Установка напрямую (на локальной машине)

Для корректной работы данной программы требуется наличие MySQL. Пожалуйста, установите MySQL-сервер, выполнив следующие команды:

sudo apt install mysql-server
sudo systemctl start mysql
sudo mysql_secure_installation

Хотя можно использовать учетную запись root, мы настоятельно рекомендуем создать новую учетную запись с ограниченными правами. Например, если вы хотите создать учетную запись с именем baekgeon и паролем WowYouCanReallyDance!!, выполните следующие команды в MySQL:

CREATE USER 'baekgeon'@'%' IDENTIFIED BY 'WowYouCanReallyDance!!';
GRANT ALL PRIVILEGES ON *.* TO 'baekgeon'@'%';
FLUSH PRIVILEGES;

Программа beacon автоматически обрабатывает определенные данные с помощью триггеров. Однако при их создании новая учетная запись может столкнуться с ошибками доступа. Чтобы этого избежать, необходимо выдать учетной записи соответствующие права. Используйте следующую команду для предоставления необходимых прав:

GRANT SUPER ON *.* TO '<username>'@'<host>';

Затем необходимо создать файл .env, содержащий информацию для подключения к базе данных. По умолчанию программа использует базу данных с названием beacon. Учетные данные для подключения будут такими же, как вы создали ранее. Файл .env должен находиться в корневой директории проекта, на одном уровне с файлом README.md. В противном случае программа не сможет его обнаружить. Вот пример структуры файла .env:

DB_HOST="localhost"
DB_USER="baekgeon"
DB_PASSWORD="WowYouCanReallyDance!!"
DB_NAME="beacon"

Далее необходимо инициализировать базу данных. Для этого выполните скрипт db.py, находящийся в папке scripts:

python3 scripts/db.py

После успешной инициализации базы данных установите необходимые зависимости и запустите сервер, используя следующие команды:

npm install
node src/main.js

После запуска сервер будет доступен по адресу localhost:3000. Чтобы проверить его работу, откройте в браузере этот адрес.

Познакомьтесь с нашей командой!

Лицензия

Данный проект распространяется под лицензией AGPL-3.0 (Affero General Public License 3.0), которая предоставляет вам свободу использования, модификации и распространения исходного кода, но с некоторыми важными ограничениями.

Во-первых 👆, вы можете использовать этот код в любых целях, включая коммерческие, но если вы запускаете его на сервере или предоставляете его как сервис, вы обязаны открыть исходный код, используемый для предоставления такого сервиса. Это означает, что если вы модифицировали наш код или создали на его основе свою версию, вы должны сделать эти изменения доступными публично, если ваша модифицированная версия используется на сервере или распространяется как услуга.

Например, если вы используете данный проект для работы своего веб-сайта, вы должны опубликовать весь модифицированный код, который поддерживает этот веб-сайт. Распространение не обязательно подразумевает прямую передачу файлов: сам факт исполнения кода на сервере уже считается его "распространением". Таким образом, все изменения должны сопровождаться публикацией соответствующего исходного кода.

Во-вторых ✌️, необходимо сохранить все авторские права и упоминания об оригинальной лицензии. Это означает, что вы обязаны указать, что данный проект создан нашей командой, а также подчеркнуть, что он распространяется под лицензией AGPL-3.0. Мы ценим, что вы уважаете нашу работу и сохраняете за нами авторство. Благодаря этой лицензии мы можем гарантировать, что наша работа будет доступна для всех, кто хочет использовать или развивать её, поддерживая при этом дух открытости и прозрачности.

Note

Copyright © 2024 Fishydino. Все права защищены.

About

Второй семестровый командный проект по предмету "Веб-программирование": Простая доска объявлений на Node.js

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors