Как подключить базу данных SQLITE3?

Создал бота с базой данных для заказов. А для выполнение заказов Андроид приложение. Вопрос: Как сделать так чтобы заказы с базы данных можно было получать в Андроид приложение и обратно С приложении записать данные о выполнении? Как работать с одной базой с телеграмм бота и с Андроид приложении? Или это мои фантазии))


Ответы (1 шт):

Автор решения: Рустам Рысаев

Если говорить о ТЗ, то примерно так

Выбор базы данных

SQLite – для простых задач, но сложно работать из нескольких источников. PostgreSQL/MySQL – для более серьезных проектов с поддержкой многопользовательских операций.

API

Создать сервер (backend), который будет посредником между базой данных, Telegram-ботом и Android-приложением. Сервер будет принимать запросы от приложений, обрабатывать их и передавать данные.

  • Flask – легковесный и удобный.
  • FastAPI – современный и быстрый.
  • Django REST Framework – мощный, но немного сложнее.
  • Node.js – если хотите попробовать JavaScript.

Разработайте REST API: GET запросы для получения заказов. POST/PUT запросы для обновления информации о выполнении заказов. Настройте роутинг: Например, /orders для списка заказов. /orders/{id} для получения информации о конкретном заказе. Пример простого REST API на Flask:

from flask import Flask, jsonify, request

app = Flask(__name__)


orders = [
    {"id": 1, "item": "Телевизор", "status": "new"},
    {"id": 2, "item": "Холодильник", "status": "in progress"},
]

# Получение всех заказов
@app.route('/orders', methods=['GET'])
def get_orders():
    return jsonify(orders)

# Обновление статуса заказа
@app.route('/orders/<int:order_id>', methods=['PUT'])
def update_order(order_id):
    data = request.get_json()
    for order in orders:
        if order["id"] == order_id:
            order["status"] = data.get("status", order["status"])
            return jsonify(order)
    return jsonify({"error": "Order not found"}), 404

if __name__ == '__main__':
    app.run(debug=True)

Ну а в телеграм-боте примерно так

API_URL = "http://localhost:5000/orders"

# Получение всех заказов
response = requests.get(API_URL)
if response.status_code == 200:
    orders = response.json()
    for order in orders:
        print(order["item"])

c android-приложением не помогу, не имею понятия что к чему там.

→ Ссылка