From 6fb15b6d5c48cd3fd551816a198e160d7b7c6b5a Mon Sep 17 00:00:00 2001 From: Bryson Date: Sat, 17 May 2025 21:11:03 -0500 Subject: [PATCH] initial commit --- .env.example | 2 ++ Dockerfile | 5 +++++ README.md | 3 +++ app/__init__.py | 21 +++++++++++++++++++++ app/core/routes.py | 7 +++++++ config.py | 6 ++++++ docker-compose.yml | 12 ++++++++++++ requirements.txt | 4 ++++ 8 files changed, 60 insertions(+) create mode 100644 .env.example create mode 100644 Dockerfile create mode 100644 README.md create mode 100644 app/__init__.py create mode 100644 app/core/routes.py create mode 100644 config.py create mode 100644 docker-compose.yml create mode 100644 requirements.txt diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..098ce27 --- /dev/null +++ b/.env.example @@ -0,0 +1,2 @@ +SECRET_KEY=supersecretkey +DATABASE_URL=sqlite:///data.db diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..df46d3e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,5 @@ +FROM python:3.11-slim +WORKDIR /app +COPY . . +RUN pip install -r requirements.txt +CMD ["flask", "run", "--host=0.0.0.0"] diff --git a/README.md b/README.md new file mode 100644 index 0000000..36bb035 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# Plant Price Tracker + +Initial setup for the community plant tracking app. diff --git a/app/__init__.py b/app/__init__.py new file mode 100644 index 0000000..23dc09b --- /dev/null +++ b/app/__init__.py @@ -0,0 +1,21 @@ +from flask import Flask +from flask_sqlalchemy import SQLAlchemy +from flask_migrate import Migrate +from flask_login import LoginManager + +db = SQLAlchemy() +migrate = Migrate() +login_manager = LoginManager() + +def create_app(): + app = Flask(__name__) + app.config.from_object('config.Config') + + db.init_app(app) + migrate.init_app(app, db) + login_manager.init_app(app) + + from .core.routes import core + app.register_blueprint(core) + + return app diff --git a/app/core/routes.py b/app/core/routes.py new file mode 100644 index 0000000..185a857 --- /dev/null +++ b/app/core/routes.py @@ -0,0 +1,7 @@ +from flask import Blueprint + +core = Blueprint('core', __name__) + +@core.route('/') +def index(): + return 'Welcome to the Plant Price Tracker!' diff --git a/config.py b/config.py new file mode 100644 index 0000000..d2b5b80 --- /dev/null +++ b/config.py @@ -0,0 +1,6 @@ +import os + +class Config: + SECRET_KEY = os.getenv('SECRET_KEY', 'dev') + SQLALCHEMY_DATABASE_URI = os.getenv('DATABASE_URL', 'sqlite:///data.db') + SQLALCHEMY_TRACK_MODIFICATIONS = False diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..b4fa487 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,12 @@ +version: '3.8' +services: + web: + build: . + ports: + - "5000:5000" + volumes: + - .:/app + environment: + - FLASK_APP=app + - FLASK_ENV=development + - DATABASE_URL=sqlite:///data.db diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..66b9520 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +Flask==2.3.2 +Flask-SQLAlchemy +Flask-Migrate +Flask-Login