# config.py
import os
from dotenv import load_dotenv
load_dotenv()
basedir = os.path.abspath(os.path.dirname(__file__))
class Config:
    SECRET_KEY = os.environ.get('SECRET_KEY', 'you-will-never-guess')
    SQLALCHEMY_DATABASE_URI = os.environ.get(
        'SQLURL'
    )
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    SQLURL = os.getenv('SQLURL')