Flask একটি জনপ্রিয় এবং লাইটওয়েট ওয়েব ফ্রেমওয়ার্ক, যা সাধারণত ছোট থেকে মাঝারি আকারের ওয়েব অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। আর TinyDB হলো একটি নো-এসকিউএল ডাটাবেস, যা JSON ফাইল ব্যবহার করে ডেটা সংরক্ষণ করে। Flask অ্যাপ্লিকেশনের সাথে TinyDB সংযোগ করার মাধ্যমে, আপনি দ্রুত এবং সহজভাবে ডেটাবেস পরিচালনা করতে পারেন।
এই গাইডে, আমরা দেখবো Flask অ্যাপ্লিকেশন তৈরি করে TinyDB কিভাবে সংযুক্ত করতে হয় এবং এর মাধ্যমে ডেটা ম্যানেজমেন্ট কিভাবে করা যায়।
১. প্রয়োজনীয় প্যাকেজ ইনস্টল করা
প্রথমে, Flask এবং TinyDB ইনস্টল করতে হবে। আপনি পিপ ব্যবহার করে এগুলি ইনস্টল করতে পারেন:
pip install flask tinydb
২. Flask অ্যাপ্লিকেশন তৈরি করা
এখন একটি সাধারন Flask অ্যাপ্লিকেশন তৈরি করে TinyDB সংযুক্ত করবো।
from flask import Flask, jsonify, request
from tinydb import TinyDB, Query
app = Flask(__name__)
# TinyDB ডাটাবেস তৈরি করা
db = TinyDB('db.json')
users_table = db.table('users')
@app.route('/')
def index():
return "Flask ও TinyDB ইন্টিগ্রেশন ডেমো"
# ইউজার ইনসার্ট করার রুট
@app.route('/add_user', methods=['POST'])
def add_user():
data = request.get_json()
# ডেটা ভ্যালিডেশন (যদি চাই)
if 'name' not in data or 'age' not in data:
return jsonify({"error": "নাম এবং বয়স প্রয়োজন"}), 400
users_table.insert({'name': data['name'], 'age': data['age']})
return jsonify({"message": "ইউজার সফলভাবে যোগ করা হয়েছে!"}), 201
# ইউজার পড়ার রুট
@app.route('/get_users', methods=['GET'])
def get_users():
users = users_table.all()
return jsonify(users)
# ইউজার আপডেট করার রুট
@app.route('/update_user/<string:name>', methods=['PUT'])
def update_user(name):
User = Query()
data = request.get_json()
# ইউজার আপডেট করা
result = users_table.update({'age': data['age']}, User.name == name)
if result:
return jsonify({"message": f"{name} এর তথ্য আপডেট করা হয়েছে!"}), 200
else:
return jsonify({"error": f"{name} এর তথ্য পাওয়া যায়নি!"}), 404
# ইউজার ডিলিট করার রুট
@app.route('/delete_user/<string:name>', methods=['DELETE'])
def delete_user(name):
User = Query()
result = users_table.remove(User.name == name)
if result:
return jsonify({"message": f"{name} এর তথ্য মুছে ফেলা হয়েছে!"}), 200
else:
return jsonify({"error": f"{name} এর তথ্য পাওয়া যায়নি!"}), 404
if __name__ == '__main__':
app.run(debug=True)
৩. Flask রুটের মাধ্যমে TinyDB ব্যবহার করা
এখন আপনি Flask অ্যাপ্লিকেশনে TinyDB ইন্টিগ্রেট করেছেন, যেখানে বিভিন্ন রুটের মাধ্যমে ডেটা পরিচালনা করা যায়:
/add_userরুট: একটি POST রিকুয়েস্ট গ্রহণ করে ইউজার ডেটা (নাম, বয়স) TinyDB তে সংরক্ষণ করে।/get_usersরুট: একটি GET রিকুয়েস্ট দিয়ে ডাটাবেসে সংরক্ষিত সমস্ত ইউজারের তথ্য রিটার্ন করে।/update_user/<name>রুট: একটি PUT রিকুয়েস্ট দিয়ে ইউজারের বয়স আপডেট করে।/delete_user/<name>রুট: একটি DELETE রিকুয়েস্ট দিয়ে নির্দিষ্ট ইউজারের তথ্য মুছে ফেলে।
৪. Flask অ্যাপ্লিকেশন চালানো
এখন আপনি Flask অ্যাপ্লিকেশনটি চালু করতে পারেন।
python app.py
অ্যাপ্লিকেশন চালু হলে, আপনি http://127.0.0.1:5000/ এ গিয়ে আপনার API রুটগুলোর পরীক্ষা করতে পারবেন।
৫. API এর মাধ্যমে TinyDB তে ডেটা ম্যানেজমেন্ট
ইউজার যোগ করা (POST):
curl -X POST -H "Content-Type: application/json" -d '{"name": "Rahim", "age": 30}' http://127.0.0.1:5000/add_user
সমস্ত ইউজার দেখানো (GET):
curl http://127.0.0.1:5000/get_users
ইউজার আপডেট করা (PUT):
curl -X PUT -H "Content-Type: application/json" -d '{"age": 35}' http://127.0.0.1:5000/update_user/Rahim
ইউজার ডিলিট করা (DELETE):
curl -X DELETE http://127.0.0.1:5000/delete_user/Rahim
সারাংশ
Flask ফ্রেমওয়ার্ক এবং TinyDB-এর ইন্টিগ্রেশন সহজ এবং দ্রুত। TinyDB-কে JSON ফাইল ভিত্তিক ডাটাবেস হিসেবে ব্যবহার করে আপনি ছোট বা মাঝারি আকারের অ্যাপ্লিকেশনগুলোতে ডেটা পরিচালনা করতে পারেন। Flask API রুটের মাধ্যমে TinyDB-এর কার্যক্ষমতা সহজে ব্যবহার করা সম্ভব, যা আপনার অ্যাপ্লিকেশনকে কার্যকরী এবং সহজ করে তোলে।
Read more