Skip to content
This repository was archived by the owner on Jan 28, 2026. It is now read-only.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Космическа Мисия: PROMETHEUS-8

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

PROMETHEUS-8 е иновативен проект, разработен от Cosmic Coders, който симулира управлението на космическа мисия. Проектът включва бекенд и фронтенд компоненти, които работят заедно, за да предоставят реалистична среда за управление на космически кораб и изпълнение на мисии.

Основни Функции

  • Управление на Мисии: Изпълнение на различни космически мисии с уникални предизвикателства.
  • Реалистичен Интерфейс: Футуристичен и функционален интерфейс, който симулира управлението на космически кораб.
  • Мониторинг на Системи: Реално време мониторинг на системите на кораба, включително двигатели, щитове, оръжия и жизнена поддръжка.
  • Комуникация и Логове: Система за комуникация и записване на логове на мисиите.

Структура на Проекта

SpaceMission/
├── backend/
│   ├── app.py                  # Основен бекенд сървър
│   ├── database_config.py      # Конфигурация на базата данни
│   ├── missions_logic/         # Логика за мисиите
│   │   ├── mission1.py         # Логика за Мисия 1
│   │   ├── mission2.py         # Логика за Мисия 2
│   │   ├── mission3.py         # Логика за Мисия 3
│   │   ├── mission4.py         # Логика за Мисия 4
│   │   └── mission5.py         # Логика за Мисия 5
│   └── test_missions/          # Тестови мисии
│       ├── mission1.py         # Тестови данни за Мисия 1
│       ├── mission2.py         # Тестови данни за Мисия 2
│       ├── mission3.py         # Тестови данни за Мисия 3
│       ├── mission4.py         # Тестови данни за Мисия 4
│       ├── mission5.py         # Тестови данни за Мисия 5
│       ├── get_missions.py     # Получаване на списък с мисии
│       └── reset_missions.py   # Нулиране на статуса на мисиите
├── frontend/
│   ├── index.html              # Главна страница
│   ├── mission-control.html    # Контролен панел на мисиите
│   ├── mission-overview.html   # Преглед на мисиите
│   ├── mission-logs.html       # Логове на мисиите
│   ├── crew.html               # Информация за екипа
│   ├── galaxy-path.html        # Път на галактиките
│   ├── script.js               # Основен скрипт за фронтенд
│   ├── navbar.js               # Навигационна лента
│   ├── styles.css              # Основни стилове
│   └── images/                 # Изображения
├── database_schema.sql         # Схема на базата данни
├── requirements.txt            # Зависимости на Python
└── README.md                   # Документация

Технически Детайли

Бекенд

  • Език: Python
  • Фреймуърк: Flask
  • База Данни: MySQL
  • API Ендпойнти:
    • GET /api/missions - Получаване на списък с мисии
    • POST /api/missions/<mission_id>/start - Стартиране на мисия
    • POST /api/missions/<mission_id>/submit - Изпращане на решение на мисия
    • POST /api/missions/reset - Нулиране на статуса на мисиите

Фронтенд

  • Език: HTML, CSS, JavaScript
  • Фреймуърци: Tailwind CSS, Font Awesome
  • Анимации: CSS и JavaScript анимации за реалистичен ефект

Алгоритми

  1. Мисия 1: Дешифриране на съобщение чрез алгоритъм на Цезар с изчисление на контролна сума.
  2. Мисия 2: Филтриране на валидни пакети чрез проверка на флагове, забранени комбинации и правила за четност.
  3. Мисия 3: Изчисление на верига от хешове чрез SHA-256.

Настройка и Стартиране

Предварителни Изисквания

  • Python 3.8 или по-нова версия
  • MySQL сървър (може да използвате XAMPP, WAMP или отделен MySQL сървър)
  • Node.js (за фронтенд зависимости)
  • phpMyAdmin (за улеснено управление на базата данни)

Инсталация и Конфигурация

1. Клониране на Репозиторито

Клонирайте репозиторито локално:

git clone https://github.com/your-repo/codewars-2025-final-round-cosmiccoders.git
cd codewars-2025-final-round-cosmiccoders/SpaceMission

2. Създаване на Виртуално Окружение (VENV)

Виртуалното окружение позволява изолация на зависимостите за проекта. Изпълнете следните команди:

На Windows:

python -m venv venv
venv\Scripts\activate

На Linux/Mac:

python3 -m venv venv
source venv/bin/activate

След активирането на окружението, командния ред трябва да показва (venv) в началото.

3. Инсталиране на Зависимостите

Инсталирайте необходимите Python пакети:

pip install -r requirements.txt

4. Конфигурация на .env Файла

Създайте файл .env в корена на проекта и добавете следните променливи:

# MySQL Конфигурация
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=your_mysql_password
DB_NAME=SpaceMission
DB_PORT=3307

# Flask Конфигурация
FLASK_ENV=development
FLASK_DEBUG=1

# Допълнителни Настройки
SECRET_KEY=your_secret_key_here
API_KEY=your_api_key_if_needed

Заменете your_mysql_password с вашата MySQL парола и your_secret_key_here с уникален ключ за сигурност.

5. Настройка на Базата Данни чрез phpMyAdmin

  1. Стартиране на phpMyAdmin:

    • Ако използвате XAMPP или WAMP, стартирайте Apache и MySQL сървърите.
    • Отворете браузър и отидете на http://localhost/phpmyadmin.
  2. Създаване на Базата Данни:

    • Влезете в phpMyAdmin с вашите MySQL данни.
    • Кликнете на "Нова" в лявата колона.
    • Въведете името SpaceMission и изберете utf8mb4_general_ci като кодировка.
    • Кликнете на "Създай".
  3. Импортиране на Схемата:

    • Отворете създадената база данни SpaceMission.
    • Кликнете на "Импорт" в горния меню бар.
    • Изберете файла database_schema.sql от проекта.
    • Кликнете на "Изпълни" за да импортирате таблиците и данните.
  4. Проверка на Данните:

    • Проверете дали таблиците Missions, Request_Logs и Mission_Responses са създадени успешно.

6. Конфигурация на database_config.py

Обновете файла backend/database_config.py с вашите MySQL данни:

connection = mysql.connector.connect(
    host='localhost',
    database='SpaceMission',
    user='root',
    password='your_mysql_password',
    port=3307
)

Заменете your_mysql_password с вашата MySQL парола.

7. Стартиране на Бекенд Сървъра

Стартирайте Flask сървъра:

cd backend
python app.py

Сървърът ще стартира на http://localhost:5000.

8. Стартиране на Фронтенд

Отворете frontend/index.html в браузър или използвайте локален сървър:

python -m http.server 8000

Фронтендът ще бъде достъпен на http://localhost:8000.

Конфигурация на Окружението

  • VENV: Виртуалното окружение е необходимо за изолация на зависимостите и избегване на конфликти.
  • ENV: .env файлът съдържа конфигурационни променливи, които са необходими за работата на приложението.
  • PHPMyAdmin: Улеснява управлението на базата данни чрез графичен интерфейс.

Употреба на phpMyAdmin

  1. Експорт на Данни:

    • Отворете базата данни SpaceMission.
    • Кликнете на "Експорт" за да създадете резервно копие на данните.
  2. Редактиране на Данни:

    • Изберете таблица и кликнете на "Преглед" за да редактирате записи.
  3. Изпълнение на Заявки:

    • Кликнете на "SQL" за да изпълните персонализирани SQL заявки.

Употреба

  1. Отворете браузър и отидете на http://localhost:8000 за фронтенд интерфейса.
  2. Използвайте навигационната лента, за да разглеждате различни секции на мисията.
  3. Стартирайте мисии чрез контролния панел и следете прогреса.
  4. Проверете логовете на мисиите за детайли за изпълнението.

Употреба

  1. Отворете браузър и отидете на http://localhost:8000 за фронтенд интерфейса.
  2. Използвайте навигационната лента, за да разглеждате различни секции на мисията.
  3. Стартирайте мисии чрез контролния панел и следете прогреса.
  4. Проверете логовете на мисиите за детайли за изпълнението.

Лиценз

Този проект е лицензиран под MIT лиценз. Вижте LICENSE за повече детайли.

Автори

  • Cosmic Coders - Разработка и дизайн

Връзки

About

codewars-2025-final-round-cosmiccoders created by GitHub Classroom

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages