From d6e6467e10fe2445d025db0d24013633f447038b Mon Sep 17 00:00:00 2001 From: Jacob Delgado Date: Tue, 20 Aug 2024 01:44:38 -0700 Subject: [PATCH] backend orders working, need to create ui and connect form to send orders --- backend/__pycache__/config.cpython-312.pyc | Bin 1620 -> 1601 bytes backend/__pycache__/models.cpython-312.pyc | Bin 1964 -> 2736 bytes backend/instance/mydatabase.db | Bin 20480 -> 24576 bytes backend/main.py | 35 +++++++++++++++---- backend/models.py | 10 ++---- backend/requirements.txt | 6 ++-- frontend/bun.lockb | Bin 185462 -> 186483 bytes frontend/package.json | 4 +-- frontend/src/app/page.tsx | 38 +++++++++++++++++---- 9 files changed, 69 insertions(+), 24 deletions(-) diff --git a/backend/__pycache__/config.cpython-312.pyc b/backend/__pycache__/config.cpython-312.pyc index 9a865cf37603805f14269409ab276c7678dff5a0..632b10137ab139a41c5f8b9c2d3df9c41418a548 100644 GIT binary patch delta 75 zcmcb@bC8GoG%qg~0}zCU9NEado|%)Qv>+!xF{N04^HpXAMs`E}(Bjmh;>o{R>>2qd eTeF@Me4wb^z}(K&$aR5R_9BDa2d>F7Y!(1r&=(8< delta 94 zcmX@ebA^ZdG%qg~0}v!V*}jo`J+riwo}PYMQGQ-YYF>(dL1|J>X0pC}QGRJbyy51< x%nFQb2KpKKxv7(1vDh;TPS#>QC;WkpLCLOxxt*(#>jJmzMFzPK9FsZOEC7i?9e4l$ diff --git a/backend/__pycache__/models.cpython-312.pyc b/backend/__pycache__/models.cpython-312.pyc index cbe0aa102c784f62f9bb9a6577c385a4ef31c3dc..9d4f5f9622f67ba4780f23b7eaa4b081ffe935b0 100644 GIT binary patch delta 968 zcmZuvO-vI}5PrMe?a%gyQYf^bv}y=h4k(Sm1c)&lFpyY{U<6{^RCY^>g_5^zu*TRP zIMA3_ns?~M#GjK5959~rY~sO#9z4{I2Tvqi{E2ws%MI2N<*y z0kdcXph0L9^=|gV@mPqmhtjQ)I67=EXqJ1)$ZLf{MyF@M#5>FYK$(2?1|MChj#b7! zNnJGhIw*&Qk{cq_3t+i)Bb_Q_^ZWBql`3%OBuF0wld6yQAhQ?Y1k(MQmQUTu8mp-l zL(`}O11Aw;2>3F^f8mu|(yVbWZ@Je}rn#P@I*nrlEB4WDRQoxwU1wV1|AF>mtvxL4 zu|Zj7&*g5vxZ~Is!3}4@#Xiar_EeVpgSO{5>e4p06^<_J@{V)c!QRVpWS9QOcKyq? za~Bkx?t-`IQ5DO1mFh4c%L%oEoTV-xQ9r;W#pR$Xz~a%Xpb{d%hb{R%4NxZ!$TCPa zCytkN;fZ60sA96=IMyJU-%N*rMZ*C0X4uWavEL8aB@E?r+OnBjJ%t>EGWizjst?o# znw^pQbZz=b{BlV_B>KE77e)eY7_E^89Ddx$;EQ7v7wxPF1G1GVHt4%W{&N%}cR% zQI_rc_+3fW!%n;U6MT30M(}6iaC>XJ58dM{IlYiIF47SQV9(7tT z4M>B0>!-<6Bo0z30U{(p%6a4COA?cEQb8Vxk1t{dNl1YR84#fWB0#PNyYUuFNNPpN zEslc3;^OlBqLd=I+jxpZK#G*W#N^v-X*^&TgZO@$9FqmPRCN{L3gEiHntpNEV00!mQX}at4MkBD-0mmm|dH?_b diff --git a/backend/instance/mydatabase.db b/backend/instance/mydatabase.db index 5c49581550a1ae2fa18c02e33e722bcfd4f099c8..c2ae9eb30b5a8f1733ab49bcc8b480b136af10d2 100644 GIT binary patch delta 331 zcmZozz}Rqrae}lUI|Bm)8xX?)^F$qEadrm1vTj~}QwCPvsSNzKe1`m7eD`^$Zfun2 z)o+w!Wfzx}WNhLsNleN~%`ZwxEh>hPY|cThjv=lJA&yQyt_l#b$@%=!lWX|+Cg0^3 z6jlO@DJg_G2042;25A_Zm`;AcudvyW@4VwA1r{C_{x}BytNg3@TlnKP3kvx0*Q>Cw zFc@l9CMM@6IV2X9rX}ViCg~;T=Nc>IrzsQ{BqpaSWae}lU69WSSD-go~(?lI(Q6>hxa4%kdQwA13Lk50ZK0|&kzWbX61@`i8 JHsm|+2mmFd3c~;Z 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 89e3ba5514a7d7bb401788d5f3a984e4a604a4ab..c12425602200e4a7d23399b43069fdd9ebd205f5 100755 GIT binary patch delta 27904 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 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

- + -