Skip to content

magnat0/web-noc

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

web-noc

Веб-сервис НОЦ

Как запустить проект

  1. Скачайте и разархивируйте проект.
  2. Установите все библиотеки из файла requirements.txt с помощью команды pip install -r requirements.txt.
  3. Создайте файл launch.json (если пишете в Visual Studio Code), где нужно прописать переменные окружения MONGO_USER, MONGO_PASSWORD, DB. Пример содержимого файла:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: текущий файл",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "justMyCode": true,
            "env": {
                "MONGO_USER": "<your_mongo_user>",
                "MONGO_PASSWORD": "<your_mongo_password>",
                "DB": "<your_db_name>"
            }
        }
    ]
}
  1. Запустите файл main.py с этими переменными окружения с помощью команды python main.py или нажатием на зеленую кнопку Run в Visual Studio Code.
  2. В консоли появится ссылка http://127.0.0.1:8000, её и нужно открыть в браузере.

Архитектура сайта

Структура проекта на FastAPI может выглядеть следующим образом:

project
│   main.py
│   requirements.txt
│
└───app
    │   __init__.py
    │
    ├───api
    │       __init__.py
    │       endpoints.py          
    │
    ├───core
    │   │   __init__.py
    │   │   config.py
    │   │
    │   └───security
    │           __init__.py
    │           auth.py
    │
    ├───templates
    │       index.html
    │   
    └───db
            __init__.py
            db.py

  • main.py - файл запуска приложения
  • requirements.txt - файл зависимостей проекта
  • app - директория с основным кодом приложения
  • api - директория с модулями API
  • core - директория с основными компонентами приложения
  • security - директория с компонентами безопасности (например, аутентификация)
  • templates - директория с файлами сайта
  • db - директория с моделями базы данных

Модули API

Модули API в директории api содержат логику обработки запросов. Внутри модуля обычно находится класс Router, который отвечает за маршрутизацию запросов. Пример:

from fastapi import APIRouter

router = APIRouter()

@router.get('/')
async def read_root():
    return {'Hello': 'World'}

Конфигурация

Конфигурация приложения может храниться в модуле core/config.py. В ней можно определить переменные окружения, настройки базы данных и другие параметры приложения.

Безопасность

Компоненты безопасности могут храниться в директории core/security. Например, модуль auth.py может содержать функции для аутентификации пользователей.

База данных

Модели базы данных могут храниться в директории db. Например, модуль models.py может содержать определение структуры базы данных и методы для работы с ней.

Шаблоны

Файлы сайта лежат в директории templates. Главный файл - index.html

About

Веб-сервис НОЦ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 74.0%
  • HTML 26.0%