diff --git a/backend/__pycache__/config.cpython-312.pyc b/backend/__pycache__/config.cpython-312.pyc index 9a865cf..632b101 100644 Binary files a/backend/__pycache__/config.cpython-312.pyc and b/backend/__pycache__/config.cpython-312.pyc differ diff --git a/backend/__pycache__/models.cpython-312.pyc b/backend/__pycache__/models.cpython-312.pyc index cbe0aa1..9d4f5f9 100644 Binary files a/backend/__pycache__/models.cpython-312.pyc and b/backend/__pycache__/models.cpython-312.pyc differ diff --git a/backend/instance/mydatabase.db b/backend/instance/mydatabase.db index 5c49581..c2ae9eb 100644 Binary files a/backend/instance/mydatabase.db and b/backend/instance/mydatabase.db differ diff --git a/backend/main.py b/backend/main.py index 1abf7e4..65b99da 100644 --- a/backend/main.py +++ b/backend/main.py @@ -1,6 +1,6 @@ -from flask import Flask, render_template, request, redirect, send_from_directory +from flask import Flask, render_template, request, redirect, send_from_directory, jsonify from config import app, db, bcrypt -from models import Contact, User +from models import Contact, User, Orders from werkzeug.utils import secure_filename from werkzeug.exceptions import RequestEntityTooLarge import os @@ -56,10 +56,6 @@ def mail(): "email": user.email }) -@app.route("/orders", methods=["GET"]) -def orders(): - - # Handle Images @app.route('/serve-image/', methods=['GET']) @@ -67,6 +63,33 @@ def serve_image(filename): return send_from_directory(app.config['UPLOAD_DIRECTORY'], filename) +# Register User +@app.route("/new-order", methods=["POST"]) +def register_user(): + email = request.json["email"] + order = request.json["order"] + + new_order= Orders(email=email, order=order) + + # Write to db + try: + db.session.add(new_order) # add to db staging area + db.session.commit() # add to db and catch any errors that can happen with writing to db + except Exception as e: + return (jsonify({"message": str(e)}), 400) + + + return jsonify({ + "email": email, + "order confirmed": order, + }) +# Get orders +@app.route("/orders", methods=["GET"]) +def orders(): + orders = Orders.query.all() + json_orders = list(map(lambda x : x.to_json(), orders)) + return jsonify({"orders": json_orders}) + # Main if __name__ == "__main__": # Initialize database connection diff --git a/backend/models.py b/backend/models.py index b8ff370..f31bf39 100644 --- a/backend/models.py +++ b/backend/models.py @@ -28,20 +28,16 @@ class User(db.Model): class Orders(db.Model): __tablename__ ="orders" id = db.Column(db.Integer, primary_key=True) - name = db.Column(db.String(80), unique=False, nullable=False) email = db.Column(db.String(120), unique=False, nullable=False) order = db.Column(db.String(345), unique=False, nullable=False) - - - def to_json(self): return { "id": self.id, - "firstName":self.first_name, - "lastName":self.last_name, - "email": self.email, + "email":self.email, + "order":self.order, } + # class Category(db.Model): # __tablename__ = "categories" # id = db.Column(db.String(32), primary_key=True, unique=True, default=get_uuid) diff --git a/backend/requirements.txt b/backend/requirements.txt index 352b66f..49a248a 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -5,6 +5,6 @@ flask-cors python-dotenv flask-session redis -Flask-Migrate -flask_validator -psycopg2-binary \ No newline at end of file +# Flask-Migrate +# flask_validator +# psycopg2-binary \ No newline at end of file diff --git a/frontend/bun.lockb b/frontend/bun.lockb index 89e3ba5..c124256 100755 Binary files a/frontend/bun.lockb and b/frontend/bun.lockb differ diff --git a/frontend/package.json b/frontend/package.json index b324d48..f37ebcf 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -21,12 +21,12 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "resend": "^3.5.0", - "sharp": "^0.33.4", + "sharp": "^0.33.5", "tailwind-merge": "^2.5.2", "tailwindcss-animate": "^1.0.7" }, "devDependencies": { - "@types/node": "^20.14.15", + "@types/node": "^20.16.1", "@types/nodemailer": "^6.4.15", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", diff --git a/frontend/src/app/page.tsx b/frontend/src/app/page.tsx index 62be04c..603de1d 100644 --- a/frontend/src/app/page.tsx +++ b/frontend/src/app/page.tsx @@ -42,7 +42,9 @@ export default function Home() { {/* Title */}
Kevo's Attire -
All sizes - $25
+
+ All sizes - $25 +
{/* Body */} @@ -57,15 +59,39 @@ export default function Home() { */} -
{await sendEmail(formData)}}> + { + await sendEmail(formData); + }} + >

Order Form

- + -