diff --git a/.idea/3200_Project_Sarkar.iml b/.idea/3200_Project_Sarkar.iml new file mode 100644 index 0000000000..8b8c395472 --- /dev/null +++ b/.idea/3200_Project_Sarkar.iml @@ -0,0 +1,12 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000000..105ce2da2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000000..a971a2c931 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000000..96d3a2a195 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000000..35eb1ddfbb --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000000..9f0a5c1ee2 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + 1744593134930 + + + + \ No newline at end of file diff --git a/api/Dockerfile b/api/Dockerfile index 4b174253f6..eb95a4c6d5 100644 --- a/api/Dockerfile +++ b/api/Dockerfile @@ -4,6 +4,7 @@ WORKDIR /apicode COPY requirements.txt ./ RUN pip install --no-cache-dir -r requirements.txt +RUN pip install mysql-connector-python COPY . . @@ -11,3 +12,4 @@ EXPOSE 4000 CMD [ "python", "backend_app.py"] + diff --git a/api/backend/CustomerReviews/customer-review_routes.py b/api/backend/CustomerReviews/customer-review_routes.py new file mode 100644 index 0000000000..0bf31f0cd7 --- /dev/null +++ b/api/backend/CustomerReviews/customer-review_routes.py @@ -0,0 +1,53 @@ +from flask import Blueprint +from flask import request +from flask import jsonify +from flask import make_response +from flask import current_app +from backend.db_connection import db + +#------------------------------------------------------------ +# Create a new Blueprint object, which is a collection of +# routes. +customers = Blueprint('CustomerReviews', __name__) + + +#------------------------------------------------------------ +# Retrieve all customer reviews for a laundromat +@customers.route('/CustomerReviews/', methods=['GET']) +def get_customer_reviews(laundromat_id): + cursor = db.get_db().cursor() + query = ''' + SELECT review_id, laundromat_id, user_id, rating, text, title + FROM CustomerReviews + WHERE laundromat_id = %s + ''' + cursor.execute(query, (laundromat_id,)) + reviews = cursor.fetchall() + the_response = make_response(jsonify(reviews)) + the_response.status_code = 200 + return the_response + +#------------------------------------------------------------ +# Make a user review for a laundromat +@customers.route('/CustomerReviews/', methods=['POST']) +def create_review(review_id): + data = request.json() + current_app.logger.info(data) + + + laundromat_id = data.get('laundromat_id') + review_id = data.get('review_id') + user_id = data.get('user_id') + rating = data.get('rating') + text = data.get('text') + title = data.get('title') + + cursor = db.get_db().cursor() + new_rev_query = f''' + INSERT INTO customer_reviews (review_id, laundromat_id, user_id, rating, comment, date) + VALUES ('{review_id}', '{laundromat_id}', '{user_id}', '{rating}', '{text}', {title}') + ''' + cursor.execute(new_rev_query, (review_id, laundromat_id, user_id, rating, text, title)) + db.get_db().commit() + + return make_response(jsonify({'message': 'Review created successfully'}), 201) \ No newline at end of file diff --git a/api/backend/analytics/analytics_routes.py b/api/backend/analytics/analytics_routes.py new file mode 100644 index 0000000000..86ecc347e1 --- /dev/null +++ b/api/backend/analytics/analytics_routes.py @@ -0,0 +1,36 @@ +from flask import Blueprint, jsonify, make_response, current_app +from backend.db_connection import db_connection + +analytics_blueprint = Blueprint('analytics', __name__) + +@analytics_blueprint.route('/analytics', methods = ['GET']) +def get_analytics(): + connection = db_connection() + cursor = connection.cursor(dictionary = True) + cursor.execute("SELECT * FROM AppAnalytics") + results = cursor.fetchall() + + cursor.close() + connection.close() + return make_response(jsonify(results), 200) + + +''' + +from flask import Blueprint, jsonify +from db import db_connection + +# blueprint instance +analytics_blueprint = Blueprint('analytics', __name__) + +@analytics_blueprint.route('/analytics', methods = ['GET']) +def get_analytics(): + connection = db_connection() + cursor = connection.cursor(dictionary = True) + cursor.execute("SELECT * FROM AppAnalytics") + results = cursor.fetchall() + + cursor.close() + connection.close() + return jsonify(results) +''' \ No newline at end of file diff --git a/api/backend/customers/customer_routes.py b/api/backend/customers/customer_routes.py deleted file mode 100644 index 4fda460220..0000000000 --- a/api/backend/customers/customer_routes.py +++ /dev/null @@ -1,83 +0,0 @@ -######################################################## -# Sample customers blueprint of endpoints -# Remove this file if you are not using it in your project -######################################################## -from flask import Blueprint -from flask import request -from flask import jsonify -from flask import make_response -from flask import current_app -from backend.db_connection import db -from backend.ml_models.model01 import predict - -#------------------------------------------------------------ -# Create a new Blueprint object, which is a collection of -# routes. -customers = Blueprint('customers', __name__) - - -#------------------------------------------------------------ -# Get all customers from the system -@customers.route('/customers', methods=['GET']) -def get_customers(): - - cursor = db.get_db().cursor() - cursor.execute('''SELECT id, company, last_name, - first_name, job_title, business_phone FROM customers - ''') - - theData = cursor.fetchall() - - the_response = make_response(jsonify(theData)) - the_response.status_code = 200 - return the_response - -#------------------------------------------------------------ -# Update customer info for customer with particular userID -# Notice the manner of constructing the query. -@customers.route('/customers', methods=['PUT']) -def update_customer(): - current_app.logger.info('PUT /customers route') - cust_info = request.json - cust_id = cust_info['id'] - first = cust_info['first_name'] - last = cust_info['last_name'] - company = cust_info['company'] - - query = 'UPDATE customers SET first_name = %s, last_name = %s, company = %s where id = %s' - data = (first, last, company, cust_id) - cursor = db.get_db().cursor() - r = cursor.execute(query, data) - db.get_db().commit() - return 'customer updated!' - -#------------------------------------------------------------ -# Get customer detail for customer with particular userID -# Notice the manner of constructing the query. -@customers.route('/customers/', methods=['GET']) -def get_customer(userID): - current_app.logger.info('GET /customers/ route') - cursor = db.get_db().cursor() - cursor.execute('SELECT id, first_name, last_name FROM customers WHERE id = {0}'.format(userID)) - - theData = cursor.fetchall() - - the_response = make_response(jsonify(theData)) - the_response.status_code = 200 - return the_response - -#------------------------------------------------------------ -# Makes use of the very simple ML model in to predict a value -# and returns it to the user -@customers.route('/prediction//', methods=['GET']) -def predict_value(var01, var02): - current_app.logger.info(f'var01 = {var01}') - current_app.logger.info(f'var02 = {var02}') - - returnVal = predict(var01, var02) - return_dict = {'result': returnVal} - - the_response = make_response(jsonify(return_dict)) - the_response.status_code = 200 - the_response.mimetype = 'application/json' - return the_response \ No newline at end of file diff --git a/api/backend/db_connection/__init__.py b/api/backend/db_connection/__init__.py index fe568586a1..b1709151c7 100644 --- a/api/backend/db_connection/__init__.py +++ b/api/backend/db_connection/__init__.py @@ -7,4 +7,15 @@ # the parameter instructs the connection to return data # as a dictionary object. -db = MySQL(cursorclass=cursors.DictCursor) \ No newline at end of file +# as a dictionary object. +db = MySQL(cursorclass=cursors.DictCursor) + +import mysql.connector + +def db_connection(): + return mysql.connector.connect( + host='db', + user='root', + password='password123', + database='projectdb' + ) \ No newline at end of file diff --git a/api/backend/laundromat/laundromat_routes.py b/api/backend/laundromat/laundromat_routes.py new file mode 100644 index 0000000000..a1d4ed9a3b --- /dev/null +++ b/api/backend/laundromat/laundromat_routes.py @@ -0,0 +1,30 @@ +from flask import Blueprint, request, jsonify +from backend.db_connection import db + +laundromat = Blueprint('laundromat', __name__) + +@laundromat.route('/laundromat', methods=['GET']) +def get_sorted_laundromats(): + attribute = request.args.get('attribute', 'pricing') + sort_order = request.args.get('sort', 'asc') + limit = int(request.args.get('limit', 1)) + + if attribute not in ['pricing', 'avgtime']: + return jsonify({'error': 'Invalid attribute'}), 400 + + sort_order = sort_order.lower() + if sort_order not in ['asc', 'desc']: + return jsonify({'error': 'Invalid sort order'}), 400 + + conn = db.connect() + cursor = conn.cursor() + + try: + query = f"SELECT * FROM laundromats ORDER BY {attribute} {sort_order.upper()} LIMIT %s" + cursor.execute(query, (limit,)) + results = cursor.fetchall() + return jsonify(results) + finally: + cursor.close() + conn.close() + diff --git a/api/backend/logs/logs_routes.py b/api/backend/logs/logs_routes.py new file mode 100644 index 0000000000..60e81f4616 --- /dev/null +++ b/api/backend/logs/logs_routes.py @@ -0,0 +1,15 @@ +from flask import Blueprint, jsonify +from backend.db_connection import db_connection + +logs_blueprint = Blueprint('logs', __name__) + +@logs_blueprint.route('/logs', methods = ['GET']) +def get_logs(): + connection = db_connection() + cursor = connection.cursor(dictionary = True) + cursor.execute("SELECT * FROM Logs") + results = cursor.fetchall() + + cursor.close() + connection.close() + return jsonify(results) \ No newline at end of file diff --git a/api/backend/orders/orders_routes.py b/api/backend/orders/orders_routes.py new file mode 100644 index 0000000000..69c6ed4ebb --- /dev/null +++ b/api/backend/orders/orders_routes.py @@ -0,0 +1,144 @@ +from flask import Blueprint, jsonify +from backend.db_connection import db + +orders_blueprint = Blueprint('orders', __name__) + +@orders_blueprint.route('/orders', methods = ['GET']) +def get_orders(): + connection = db_connection() + cursor = connection.cursor(dictionary = True) + cursor.execute("SELECT * FROM Orders") + results = cursor.fetchall() + + cursor.close() + connection.close() + return jsonify(results) + + + +from flask import Blueprint, request, jsonify +from backend.db_connection import db + +orders = Blueprint('orders', __name__) + +@orders.route('/pickup_time', methods=['POST']) +def add_pickup_time(): + data = request.get_json() + conn = db.connect() + cursor = conn.cursor() + try: + query = """ + INSERT INTO orders (pickup_time) + VALUES (%s) + """ + cursor.execute(query, (data['pickup_time'],)) + conn.commit() + return jsonify({'message': 'Pickup time added'}), 201 + finally: + cursor.close() + conn.close() + +@orders.route('/delivery_time', methods=['POST']) +def add_delivery_time(): + data = request.get_json() + conn = db.connect() + cursor = conn.cursor() + try: + query = """ + UPDATE orders + SET delivery_time = %s + WHERE order_id = %s + """ + cursor.execute(query, (data['delivery_time'], data['order_id'])) + conn.commit() + return jsonify({'message': 'Delivery time updated'}), 200 + finally: + cursor.close() + conn.close() + +@orders.route('/delivery_location', methods=['POST']) +def add_delivery_location(): + data = request.get_json() + conn = db.connect() + cursor = conn.cursor() + try: + query = """ + UPDATE orders + SET delivery_location = %s + WHERE order_id = %s + """ + cursor.execute(query, (data['delivery_location'], data['order_id'])) + conn.commit() + return jsonify({'message': 'Delivery location updated'}), 200 + finally: + cursor.close() + conn.close() + +@orders.route('/orderdetails/', methods=['GET']) +def get_order_details(order_id): + conn = db.connect() + cursor = conn.cursor() + try: + query = "SELECT * FROM orders WHERE order_id = %s" + cursor.execute(query, (order_id,)) + result = cursor.fetchone() + if result: + return jsonify(result) + return jsonify({'error': 'Order not found'}), 404 + finally: + cursor.close() + conn.close() + +@orders.route('//update_cost', methods=['PUT']) +def update_order_cost(order_id): + data = request.get_json() + conn = db.connect() + cursor = conn.cursor() + try: + query = """ + UPDATE orders + SET total_cost = %s + WHERE order_id = %s + """ + cursor.execute(query, (data['total_cost'], order_id)) + conn.commit() + return jsonify({'message': 'Total cost updated'}) + finally: + cursor.close() + conn.close() + +@orders.route('//status', methods=['GET']) +def get_order_status(order_id): + conn = db.connect() + cursor = conn.cursor() + try: + query = "SELECT status FROM orders WHERE order_id = %s" + cursor.execute(query, (order_id,)) + result = cursor.fetchone() + if result: + return jsonify({'order_id': order_id, 'status': result['status']}) + return jsonify({'error': 'Order not found'}), 404 + finally: + cursor.close() + conn.close() + +@orders.route('/orders//', methods=['PUT']) +def update_pickup_location(order_id): + data = request.get_json() + conn = db.connect() + cursor = conn.cursor() + try: + query = """ + UPDATE orders + SET pickup_location = %s + WHERE order_id = %s + """ + cursor.execute(query, (data['total_cost'], order_id)) + conn.commit() + return jsonify({'message': 'Pickup Location updated'}) + finally: + cursor.close() + conn.close() + + + diff --git a/api/backend/products/products_routes.py b/api/backend/products/products_routes.py deleted file mode 100644 index a3e596d0d3..0000000000 --- a/api/backend/products/products_routes.py +++ /dev/null @@ -1,208 +0,0 @@ -######################################################## -# Sample customers blueprint of endpoints -# Remove this file if you are not using it in your project -######################################################## - -from flask import Blueprint -from flask import request -from flask import jsonify -from flask import make_response -from flask import current_app -from backend.db_connection import db - -#------------------------------------------------------------ -# Create a new Blueprint object, which is a collection of -# routes. -products = Blueprint('products', __name__) - -#------------------------------------------------------------ -# Get all the products from the database, package them up, -# and return them to the client -@products.route('/products', methods=['GET']) -def get_products(): - query = ''' - SELECT id, - product_code, - product_name, - list_price, - category - FROM products - ''' - - # get a cursor object from the database - cursor = db.get_db().cursor() - - # use cursor to query the database for a list of products - cursor.execute(query) - - # fetch all the data from the cursor - # The cursor will return the data as a - # Python Dictionary - theData = cursor.fetchall() - - # Create a HTTP Response object and add results of the query to it - # after "jasonify"-ing it. - response = make_response(jsonify(theData)) - # set the proper HTTP Status code of 200 (meaning all good) - response.status_code = 200 - # send the response back to the client - return response - -# ------------------------------------------------------------ -# get product information about a specific product -# notice that the route takes and then you see id -# as a parameter to the function. This is one way to send -# parameterized information into the route handler. -@products.route('/product/', methods=['GET']) -def get_product_detail (id): - - query = f'''SELECT id, - product_name, - description, - list_price, - category - FROM products - WHERE id = {str(id)} - ''' - - # logging the query for debugging purposes. - # The output will appear in the Docker logs output - # This line has nothing to do with actually executing the query... - # It is only for debugging purposes. - current_app.logger.info(f'GET /product/ query={query}') - - # get the database connection, execute the query, and - # fetch the results as a Python Dictionary - cursor = db.get_db().cursor() - cursor.execute(query) - theData = cursor.fetchall() - - # Another example of logging for debugging purposes. - # You can see if the data you're getting back is what you expect. - current_app.logger.info(f'GET /product/ Result of query = {theData}') - - response = make_response(jsonify(theData)) - response.status_code = 200 - return response - -# ------------------------------------------------------------ -# Get the top 5 most expensive products from the database -@products.route('/mostExpensive') -def get_most_pop_products(): - - query = ''' - SELECT product_code, - product_name, - list_price, - reorder_level - FROM products - ORDER BY list_price DESC - LIMIT 5 - ''' - - # Same process as handler above - cursor = db.get_db().cursor() - cursor.execute(query) - theData = cursor.fetchall() - - response = make_response(jsonify(theData)) - response.status_code = 200 - return response - -# ------------------------------------------------------------ -# Route to get the 10 most expensive items from the -# database. -@products.route('/tenMostExpensive', methods=['GET']) -def get_10_most_expensive_products(): - - query = ''' - SELECT product_code, - product_name, - list_price, - reorder_level - FROM products - ORDER BY list_price DESC - LIMIT 10 - ''' - - # Same process as above - cursor = db.get_db().cursor() - cursor.execute(query) - theData = cursor.fetchall() - - response = make_response(jsonify(theData)) - response.status_code = 200 - return response - - -# ------------------------------------------------------------ -# This is a POST route to add a new product. -# Remember, we are using POST routes to create new entries -# in the database. -@products.route('/product', methods=['POST']) -def add_new_product(): - - # In a POST request, there is a - # collecting data from the request object - the_data = request.json - current_app.logger.info(the_data) - - #extracting the variable - name = the_data['product_name'] - description = the_data['product_description'] - price = the_data['product_price'] - category = the_data['product_category'] - - query = f''' - INSERT INTO products (product_name, - description, - category, - list_price) - VALUES ('{name}', '{description}', '{category}', {str(price)}) - ''' - # TODO: Make sure the version of the query above works properly - # Constructing the query - # query = 'insert into products (product_name, description, category, list_price) values ("' - # query += name + '", "' - # query += description + '", "' - # query += category + '", ' - # query += str(price) + ')' - current_app.logger.info(query) - - # executing and committing the insert statement - cursor = db.get_db().cursor() - cursor.execute(query) - db.get_db().commit() - - response = make_response("Successfully added product") - response.status_code = 200 - return response - -# ------------------------------------------------------------ -### Get all product categories -@products.route('/categories', methods = ['GET']) -def get_all_categories(): - query = ''' - SELECT DISTINCT category AS label, category as value - FROM products - WHERE category IS NOT NULL - ORDER BY category - ''' - - cursor = db.get_db().cursor() - cursor.execute(query) - theData = cursor.fetchall() - - response = make_response(jsonify(theData)) - response.status_code = 200 - return response - -# ------------------------------------------------------------ -# This is a stubbed route to update a product in the catalog -# The SQL query would be an UPDATE. -@products.route('/product', methods = ['PUT']) -def update_product(): - product_info = request.json - current_app.logger.info(product_info) - - return "Success" \ No newline at end of file diff --git a/api/backend/rest_entry.py b/api/backend/rest_entry.py index d8d78502d9..e2e3aeaff3 100644 --- a/api/backend/rest_entry.py +++ b/api/backend/rest_entry.py @@ -1,9 +1,12 @@ from flask import Flask - from backend.db_connection import db -from backend.customers.customer_routes import customers -from backend.products.products_routes import products -from backend.simple.simple_routes import simple_routes +from backend.laundromat.laundromat_routes import laundromat +from backend.orders.orders_routes import orders + + +# 000000 test for analysis by MQ +from backend.analytics.analytics_routes import analytics_blueprint + import os from dotenv import load_dotenv @@ -25,6 +28,7 @@ def create_app(): # # these are for the DB object to be able to connect to MySQL. # app.config['MYSQL_DATABASE_USER'] = 'root' + # app.config['MYSQL_DATABASE_USER'] = 'root' app.config['MYSQL_DATABASE_USER'] = os.getenv('DB_USER').strip() app.config['MYSQL_DATABASE_PASSWORD'] = os.getenv('MYSQL_ROOT_PASSWORD').strip() app.config['MYSQL_DATABASE_HOST'] = os.getenv('DB_HOST').strip() @@ -38,11 +42,20 @@ def create_app(): # Register the routes from each Blueprint with the app object # and give a url prefix to each - app.logger.info('current_app(): registering blueprints with Flask app object.') - app.register_blueprint(simple_routes) - app.register_blueprint(customers, url_prefix='/c') - app.register_blueprint(products, url_prefix='/p') + app.register_blueprint(laundromat, url_prefix='/l') + app.register_blueprint(orders, url_prefix='/orders') + + # 000000 test for analysis by MQ + app.register_blueprint(analytics_blueprint, url_prefix='/analytics') + + # TEST 4000 by MQ delete later + @app.route("/") + def index(): + return {"message": "test message for flask port 4000"} # Don't forget to return the app object return app +if __name__ == "__main__": + app = create_app() + app.run(host="0.0.0.0", port = 4000) diff --git a/api/backend/reviews/reviews_routes.py b/api/backend/reviews/reviews_routes.py new file mode 100644 index 0000000000..6a3f91dfab --- /dev/null +++ b/api/backend/reviews/reviews_routes.py @@ -0,0 +1,20 @@ +from flask import Blueprint, jsonify +from backend.db_connection import db_connection + +reviews_blueprint = Blueprint('reviews', __name__) + +# return the rating +@reviews_blueprint.route('/reviews/summary/', methods = ['GET']) +def get_review_summary(): + connection = db_connection() + cursor = connection.cursor(dictionary = True) + + cursor.execute("SELECT AVG(rating) FROM CustomerReviews") + avg_rating = cursor.fetchone() + + cursor.close() + connection.close() + + return jsonify({ + "avg_rating": avg_rating['avg_rating'] + }) \ No newline at end of file diff --git a/api/backend/simple/playlist.py b/api/backend/simple/playlist.py deleted file mode 100644 index a9e7a9ef03..0000000000 --- a/api/backend/simple/playlist.py +++ /dev/null @@ -1,129 +0,0 @@ -# ------------------------------------------------------------ -# Sample data for testing generated by ChatGPT -# ------------------------------------------------------------ - -sample_playlist_data = { - "playlist": { - "id": "37i9dQZF1DXcBWIGoYBM5M", - "name": "Chill Hits", - "description": "Relax and unwind with the latest chill hits.", - "owner": { - "id": "spotify_user_123", - "display_name": "Spotify User" - }, - "tracks": { - "items": [ - { - "track": { - "id": "3n3Ppam7vgaVa1iaRUc9Lp", - "name": "Lose Yourself", - "artists": [ - { - "id": "1dfeR4HaWDbWqFHLkxsg1d", - "name": "Eminem" - } - ], - "album": { - "id": "1ATL5GLyefJaxhQzSPVrLX", - "name": "8 Mile" - }, - "duration_ms": 326000, - "track_number": 1, - "disc_number": 1, - "preview_url": "https://p.scdn.co/mp3-preview/lose-yourself.mp3", - "uri": "spotify:track:3n3Ppam7vgaVa1iaRUc9Lp" - } - }, - { - "track": { - "id": "7ouMYWpwJ422jRcDASZB7P", - "name": "Blinding Lights", - "artists": [ - { - "id": "0fW8E0XdT6aG9aFh6jGpYo", - "name": "The Weeknd" - } - ], - "album": { - "id": "1ATL5GLyefJaxhQzSPVrLX", - "name": "After Hours" - }, - "duration_ms": 200040, - "track_number": 9, - "disc_number": 1, - "preview_url": "https://p.scdn.co/mp3-preview/blinding-lights.mp3", - "uri": "spotify:track:7ouMYWpwJ422jRcDASZB7P" - } - }, - { - "track": { - "id": "4uLU6hMCjMI75M1A2tKUQC", - "name": "Shape of You", - "artists": [ - { - "id": "6eUKZXaKkcviH0Ku9w2n3V", - "name": "Ed Sheeran" - } - ], - "album": { - "id": "3fMbdgg4jU18AjLCKBhRSm", - "name": "Divide" - }, - "duration_ms": 233713, - "track_number": 4, - "disc_number": 1, - "preview_url": "https://p.scdn.co/mp3-preview/shape-of-you.mp3", - "uri": "spotify:track:4uLU6hMCjMI75M1A2tKUQC" - } - }, - { - "track": { - "id": "0VjIjW4GlUZAMYd2vXMi3b", - "name": "Levitating", - "artists": [ - { - "id": "4tZwfgrHOc3mvqYlEYSvVi", - "name": "Dua Lipa" - } - ], - "album": { - "id": "7dGJo4pcD2V6oG8kP0tJRR", - "name": "Future Nostalgia" - }, - "duration_ms": 203693, - "track_number": 5, - "disc_number": 1, - "preview_url": "https://p.scdn.co/mp3-preview/levitating.mp3", - "uri": "spotify:track:0VjIjW4GlUZAMYd2vXMi3b" - } - }, - { - "track": { - "id": "6habFhsOp2NvshLv26DqMb", - "name": "Sunflower", - "artists": [ - { - "id": "1dfeR4HaWDbWqFHLkxsg1d", - "name": "Post Malone" - }, - { - "id": "0C8ZW7ezQVs4URX5aX7Kqx", - "name": "Swae Lee" - } - ], - "album": { - "id": "6k3hyp4efgfHP5GMVd3Agw", - "name": "Spider-Man: Into the Spider-Verse (Soundtrack)" - }, - "duration_ms": 158000, - "track_number": 3, - "disc_number": 1, - "preview_url": "https://p.scdn.co/mp3-preview/sunflower.mp3", - "uri": "spotify:track:6habFhsOp2NvshLv26DqMb" - } - } - ] - }, - "uri": "spotify:playlist:37i9dQZF1DXcBWIGoYBM5M" - } -} \ No newline at end of file diff --git a/api/backend/simple/simple_routes.py b/api/backend/simple/simple_routes.py deleted file mode 100644 index 8685fbac76..0000000000 --- a/api/backend/simple/simple_routes.py +++ /dev/null @@ -1,48 +0,0 @@ -from flask import Blueprint, request, jsonify, make_response, current_app, redirect, url_for -import json -from backend.db_connection import db -from backend.simple.playlist import sample_playlist_data - -# This blueprint handles some basic routes that you can use for testing -simple_routes = Blueprint('simple_routes', __name__) - - -# ------------------------------------------------------------ -# / is the most basic route -# Once the api container is started, in a browser, go to -# localhost:4000/playlist -@simple_routes.route('/') -def welcome(): - current_app.logger.info('GET / handler') - welcome_message = '

Welcome to the CS 3200 Project Template REST API' - response = make_response(welcome_message) - response.status_code = 200 - return response - -# ------------------------------------------------------------ -# /playlist returns the sample playlist data contained in playlist.py -# (imported above) -@simple_routes.route('/playlist') -def get_playlist_data(): - current_app.logger.info('GET /playlist handler') - response = make_response(jsonify(sample_playlist_data)) - response.status_code = 200 - return response - -# ------------------------------------------------------------ -@simple_routes.route('/niceMesage', methods = ['GET']) -def affirmation(): - message = ''' -

Think about it...

-
- You only need to be 1% better today than you were yesterday! - ''' - response = make_response(message) - response.status_code = 200 - return response - -# ------------------------------------------------------------ -# Demonstrates how to redirect from one route to another. -@simple_routes.route('/message') -def mesage(): - return redirect(url_for(affirmation)) \ No newline at end of file diff --git a/app/src/.streamlit/config.toml b/app/src/.streamlit/config.toml index bb28be97de..90bd18a37c 100644 --- a/app/src/.streamlit/config.toml +++ b/app/src/.streamlit/config.toml @@ -15,6 +15,6 @@ showSidebarNavigation = false [theme] # Setting some basic config options related to the theme of the app base="light" -primaryColor="#6550e6" +primaryColor="#03a9fc" font="monospace" diff --git a/app/src/Home.py b/app/src/Home.py index ef0f7b19ad..f85774825d 100644 --- a/app/src/Home.py +++ b/app/src/Home.py @@ -34,15 +34,15 @@ # set the title of the page and provide a simple prompt. logger.info("Loading the Home page of the app") -st.title('CS 3200 Sample Semester Project App') +st.title("Hello, Welcome to Suds N' Duds!") st.write('\n\n') -st.write('### HI! As which user would you like to log in?') +st.write('### Hi! which user would you like to log in as?') # For each of the user personas for which we are implementing # functionality, we put a button on the screen that the user # can click to MIMIC logging in as that mock user. -if st.button("Act as John, a Political Strategy Advisor", +if st.button("Act as Damian, a busy college student", type = 'primary', use_container_width=True): # when user clicks the button, they are now considered authenticated @@ -55,7 +55,7 @@ # finally, we ask streamlit to switch to another page, in this case, the # landing page for this particular user type logger.info("Logging in as Political Strategy Advisor Persona") - st.switch_page('pages/00_Pol_Strat_Home.py') + st.switch_page('pages/LaundromatSelection.py') if st.button('Act as Mohammad, an USAID worker', type = 'primary', @@ -65,13 +65,13 @@ st.session_state['first_name'] = 'Mohammad' st.switch_page('pages/10_USAID_Worker_Home.py') -if st.button('Act as System Administrator', +if st.button('Act as Steve Jobs, a System Administrator', type = 'primary', use_container_width=True): st.session_state['authenticated'] = True st.session_state['role'] = 'administrator' st.session_state['first_name'] = 'SysAdmin' - st.switch_page('pages/20_Admin_Home.py') + st.switch_page('pages/SysAdmin_Home.py') diff --git a/app/src/assets/logo.png b/app/src/assets/logo.png deleted file mode 100644 index f3f01f835b..0000000000 Binary files a/app/src/assets/logo.png and /dev/null differ diff --git a/app/src/assets/suds_logo.png b/app/src/assets/suds_logo.png new file mode 100644 index 0000000000..ed3d36174e Binary files /dev/null and b/app/src/assets/suds_logo.png differ diff --git a/app/src/modules/nav.py b/app/src/modules/nav.py index cb31d3bf67..05ee9be386 100644 --- a/app/src/modules/nav.py +++ b/app/src/modules/nav.py @@ -50,9 +50,11 @@ def ClassificationNav(): #### ------------------------ System Admin Role ------------------------ def AdminPageNav(): - st.sidebar.page_link("pages/20_Admin_Home.py", label="System Admin", icon="🖥️") + st.sidebar.page_link("pages/SysAdmin_Home.py", label="System Admin", icon="🖥️") + +def ActivityNav(): st.sidebar.page_link( - "pages/21_ML_Model_Mgmt.py", label="ML Model Management", icon="🏢" + "pages/AdminActivity.py", label="Activity", icon="🏢" ) @@ -63,7 +65,7 @@ def SideBarLinks(show_home=False): """ # add a logo to the sidebar always - st.sidebar.image("assets/logo.png", width=150) + st.sidebar.image("assets/suds_logo.png", width=270) # If there is no logged in user, redirect to the Home (Landing) page if "authenticated" not in st.session_state: @@ -92,6 +94,7 @@ def SideBarLinks(show_home=False): # If the user is an administrator, give them access to the administrator pages if st.session_state["role"] == "administrator": AdminPageNav() + ActivityNav() # Always show the About page at the bottom of the list of links AboutPageNav() diff --git a/app/src/pages/00_Pol_Strat_Home.py b/app/src/pages/00_Pol_Strat_Home.py deleted file mode 100644 index 3d02f25552..0000000000 --- a/app/src/pages/00_Pol_Strat_Home.py +++ /dev/null @@ -1,25 +0,0 @@ -import logging -logger = logging.getLogger(__name__) - -import streamlit as st -from modules.nav import SideBarLinks - -st.set_page_config(layout = 'wide') - -# Show appropriate sidebar links for the role of the currently logged in user -SideBarLinks() - -st.title(f"Welcome Political Strategist, {st.session_state['first_name']}.") -st.write('') -st.write('') -st.write('### What would you like to do today?') - -if st.button('View World Bank Data Visualization', - type='primary', - use_container_width=True): - st.switch_page('pages/01_World_Bank_Viz.py') - -if st.button('View World Map Demo', - type='primary', - use_container_width=True): - st.switch_page('pages/02_Map_Demo.py') \ No newline at end of file diff --git a/app/src/pages/01_World_Bank_Viz.py b/app/src/pages/01_World_Bank_Viz.py deleted file mode 100644 index a34cbb1529..0000000000 --- a/app/src/pages/01_World_Bank_Viz.py +++ /dev/null @@ -1,41 +0,0 @@ -import logging -logger = logging.getLogger(__name__) -import pandas as pd -import streamlit as st -from streamlit_extras.app_logo import add_logo -import world_bank_data as wb -import matplotlib.pyplot as plt -import numpy as np -import plotly.express as px -from modules.nav import SideBarLinks - -# Call the SideBarLinks from the nav module in the modules directory -SideBarLinks() - -# set the header of the page -st.header('World Bank Data') - -# You can access the session state to make a more customized/personalized app experience -st.write(f"### Hi, {st.session_state['first_name']}.") - -# get the countries from the world bank data -with st.echo(code_location='above'): - countries:pd.DataFrame = wb.get_countries() - - st.dataframe(countries) - -# the with statment shows the code for this block above it -with st.echo(code_location='above'): - arr = np.random.normal(1, 1, size=100) - test_plot, ax = plt.subplots() - ax.hist(arr, bins=20) - - st.pyplot(test_plot) - - -with st.echo(code_location='above'): - slim_countries = countries[countries['incomeLevel'] != 'Aggregates'] - data_crosstab = pd.crosstab(slim_countries['region'], - slim_countries['incomeLevel'], - margins = False) - st.table(data_crosstab) diff --git a/app/src/pages/02_Map_Demo.py b/app/src/pages/02_Map_Demo.py deleted file mode 100644 index 5ca09a9633..0000000000 --- a/app/src/pages/02_Map_Demo.py +++ /dev/null @@ -1,104 +0,0 @@ -import logging -logger = logging.getLogger(__name__) -import streamlit as st -from streamlit_extras.app_logo import add_logo -import pandas as pd -import pydeck as pdk -from urllib.error import URLError -from modules.nav import SideBarLinks - -SideBarLinks() - -# add the logo -add_logo("assets/logo.png", height=400) - -# set up the page -st.markdown("# Mapping Demo") -st.sidebar.header("Mapping Demo") -st.write( - """This Mapping Demo is from the Streamlit Documentation. It shows how to use -[`st.pydeck_chart`](https://docs.streamlit.io/library/api-reference/charts/st.pydeck_chart) -to display geospatial data.""" -) - - -@st.cache_data -def from_data_file(filename): - url = ( - "http://raw.githubusercontent.com/streamlit/" - "example-data/master/hello/v1/%s" % filename - ) - return pd.read_json(url) - - -try: - ALL_LAYERS = { - "Bike Rentals": pdk.Layer( - "HexagonLayer", - data=from_data_file("bike_rental_stats.json"), - get_position=["lon", "lat"], - radius=200, - elevation_scale=4, - elevation_range=[0, 1000], - extruded=True, - ), - "Bart Stop Exits": pdk.Layer( - "ScatterplotLayer", - data=from_data_file("bart_stop_stats.json"), - get_position=["lon", "lat"], - get_color=[200, 30, 0, 160], - get_radius="[exits]", - radius_scale=0.05, - ), - "Bart Stop Names": pdk.Layer( - "TextLayer", - data=from_data_file("bart_stop_stats.json"), - get_position=["lon", "lat"], - get_text="name", - get_color=[0, 0, 0, 200], - get_size=15, - get_alignment_baseline="'bottom'", - ), - "Outbound Flow": pdk.Layer( - "ArcLayer", - data=from_data_file("bart_path_stats.json"), - get_source_position=["lon", "lat"], - get_target_position=["lon2", "lat2"], - get_source_color=[200, 30, 0, 160], - get_target_color=[200, 30, 0, 160], - auto_highlight=True, - width_scale=0.0001, - get_width="outbound", - width_min_pixels=3, - width_max_pixels=30, - ), - } - st.sidebar.markdown("### Map Layers") - selected_layers = [ - layer - for layer_name, layer in ALL_LAYERS.items() - if st.sidebar.checkbox(layer_name, True) - ] - if selected_layers: - st.pydeck_chart( - pdk.Deck( - map_style="mapbox://styles/mapbox/light-v9", - initial_view_state={ - "latitude": 37.76, - "longitude": -122.4, - "zoom": 11, - "pitch": 50, - }, - layers=selected_layers, - ) - ) - else: - st.error("Please choose at least one layer above.") -except URLError as e: - st.error( - """ - **This demo requires internet access.** - Connection error: %s - """ - % e.reason - ) diff --git a/app/src/pages/03_Simple_Chat_Bot.py b/app/src/pages/03_Simple_Chat_Bot.py deleted file mode 100644 index fa8db58e84..0000000000 --- a/app/src/pages/03_Simple_Chat_Bot.py +++ /dev/null @@ -1,66 +0,0 @@ -import logging -logger = logging.getLogger(__name__) -import streamlit as st -from streamlit_extras.app_logo import add_logo -import numpy as np -import random -import time -from modules.nav import SideBarLinks - -SideBarLinks() - -def response_generator(): - response = random.choice ( - [ - "Hello there! How can I assist you today?", - "Hi, human! Is there anything I can help you with?", - "Do you need help?", - ] - ) - for word in response.split(): - yield word + " " - time.sleep(0.05) -#----------------------------------------------------------------------- - -st.set_page_config (page_title="Sample Chat Bot", page_icon="🤖") -add_logo("assets/logo.png", height=400) - -st.title("Echo Bot 🤖") - -st.markdown(""" - Currently, this chat bot only returns a random message from the following list: - - Hello there! How can I assist you today? - - Hi, human! Is there anything I can help you with? - - Do you need help? - """ - ) - - -# Initialize chat history -if "messages" not in st.session_state: - st.session_state.messages = [] - -# Display chat message from history on app rerun -for message in st.session_state.messages: - with st.chat_message(message["role"]): - st.markdown(message["content"]) - -# React to user input -if prompt := st.chat_input("What is up?"): - # Display user message in chat message container - with st.chat_message("user"): - st.markdown(prompt) - - # Add user message to chat history - st.session_state.messages.append({"role": "user", "content": prompt}) - - response = f"Echo: {prompt}" - - # Display assistant response in chat message container - with st.chat_message("assistant"): - # st.markdown(response) - response = st.write_stream(response_generator()) - - # Add assistant response to chat history - st.session_state.messages.append({"role": "assistant", "content": response}) - diff --git a/app/src/pages/04_Prediction.py b/app/src/pages/04_Prediction.py deleted file mode 100644 index a5a322a2f4..0000000000 --- a/app/src/pages/04_Prediction.py +++ /dev/null @@ -1,38 +0,0 @@ -import logging -logger = logging.getLogger(__name__) - -import streamlit as st -from modules.nav import SideBarLinks -import requests - -st.set_page_config(layout = 'wide') - -# Display the appropriate sidebar links for the role of the logged in user -SideBarLinks() - -st.title('Prediction with Regression') - -# create a 2 column layout -col1, col2 = st.columns(2) - -# add one number input for variable 1 into column 1 -with col1: - var_01 = st.number_input('Variable 01:', - step=1) - -# add another number input for variable 2 into column 2 -with col2: - var_02 = st.number_input('Variable 02:', - step=1) - -logger.info(f'var_01 = {var_01}') -logger.info(f'var_02 = {var_02}') - -# add a button to use the values entered into the number field to send to the -# prediction function via the REST API -if st.button('Calculate Prediction', - type='primary', - use_container_width=True): - results = requests.get(f'http://api:4000/c/prediction/{var_01}/{var_02}').json() - st.dataframe(results) - \ No newline at end of file diff --git a/app/src/pages/10_USAID_Worker_Home.py b/app/src/pages/10_USAID_Worker_Home.py deleted file mode 100644 index d7b230384c..0000000000 --- a/app/src/pages/10_USAID_Worker_Home.py +++ /dev/null @@ -1,30 +0,0 @@ -import logging -logger = logging.getLogger(__name__) - -import streamlit as st -from modules.nav import SideBarLinks - -st.set_page_config(layout = 'wide') - -# Show appropriate sidebar links for the role of the currently logged in user -SideBarLinks() - -st.title(f"Welcome USAID Worker, {st.session_state['first_name']}.") -st.write('') -st.write('') -st.write('### What would you like to do today?') - -if st.button('Predict Value Based on Regression Model', - type='primary', - use_container_width=True): - st.switch_page('pages/11_Prediction.py') - -if st.button('View the Simple API Demo', - type='primary', - use_container_width=True): - st.switch_page('pages/12_API_Test.py') - -if st.button("View Classification Demo", - type='primary', - use_container_width=True): - st.switch_page('pages/13_Classification.py') \ No newline at end of file diff --git a/app/src/pages/11_Prediction.py b/app/src/pages/11_Prediction.py deleted file mode 100644 index a5a322a2f4..0000000000 --- a/app/src/pages/11_Prediction.py +++ /dev/null @@ -1,38 +0,0 @@ -import logging -logger = logging.getLogger(__name__) - -import streamlit as st -from modules.nav import SideBarLinks -import requests - -st.set_page_config(layout = 'wide') - -# Display the appropriate sidebar links for the role of the logged in user -SideBarLinks() - -st.title('Prediction with Regression') - -# create a 2 column layout -col1, col2 = st.columns(2) - -# add one number input for variable 1 into column 1 -with col1: - var_01 = st.number_input('Variable 01:', - step=1) - -# add another number input for variable 2 into column 2 -with col2: - var_02 = st.number_input('Variable 02:', - step=1) - -logger.info(f'var_01 = {var_01}') -logger.info(f'var_02 = {var_02}') - -# add a button to use the values entered into the number field to send to the -# prediction function via the REST API -if st.button('Calculate Prediction', - type='primary', - use_container_width=True): - results = requests.get(f'http://api:4000/c/prediction/{var_01}/{var_02}').json() - st.dataframe(results) - \ No newline at end of file diff --git a/app/src/pages/12_API_Test.py b/app/src/pages/12_API_Test.py deleted file mode 100644 index 74883c5a85..0000000000 --- a/app/src/pages/12_API_Test.py +++ /dev/null @@ -1,25 +0,0 @@ -import logging -logger = logging.getLogger(__name__) -import streamlit as st -import requests -from streamlit_extras.app_logo import add_logo -from modules.nav import SideBarLinks - -SideBarLinks() - -st.write("# Accessing a REST API from Within Streamlit") - -""" -Simply retrieving data from a REST api running in a separate Docker Container. - -If the container isn't running, this will be very unhappy. But the Streamlit app -should not totally die. -""" -data = {} -try: - data = requests.get('http://api:4000/data').json() -except: - st.write("**Important**: Could not connect to sample api, so using dummy data.") - data = {"a":{"b": "123", "c": "hello"}, "z": {"b": "456", "c": "goodbye"}} - -st.dataframe(data) diff --git a/app/src/pages/13_Classification.py b/app/src/pages/13_Classification.py deleted file mode 100644 index be2535c49d..0000000000 --- a/app/src/pages/13_Classification.py +++ /dev/null @@ -1,57 +0,0 @@ -import logging -logger = logging.getLogger(__name__) -import streamlit as st -import pandas as pd -from sklearn import datasets -from sklearn.ensemble import RandomForestClassifier -from streamlit_extras.app_logo import add_logo -from modules.nav import SideBarLinks - -SideBarLinks() - -st.write(""" -# Simple Iris Flower Prediction App - -This example is borrowed from [The Data Professor](https://github.com/dataprofessor/streamlit_freecodecamp/tree/main/app_7_classification_iris) - -This app predicts the **Iris flower** type! -""") - -st.sidebar.header('User Input Parameters') - -def user_input_features(): - sepal_length = st.sidebar.slider('Sepal length', 4.3, 7.9, 5.4) - sepal_width = st.sidebar.slider('Sepal width', 2.0, 4.4, 3.4) - petal_length = st.sidebar.slider('Petal length', 1.0, 6.9, 1.3) - petal_width = st.sidebar.slider('Petal width', 0.1, 2.5, 0.2) - data = {'sepal_length': sepal_length, - 'sepal_width': sepal_width, - 'petal_length': petal_length, - 'petal_width': petal_width} - features = pd.DataFrame(data, index=[0]) - return features - -df = user_input_features() - -st.subheader('User Input parameters') -st.write(df) - -iris = datasets.load_iris() -X = iris.data -Y = iris.target - -clf = RandomForestClassifier() -clf.fit(X, Y) - -prediction = clf.predict(df) -prediction_proba = clf.predict_proba(df) - -st.subheader('Class labels and their corresponding index number') -st.write(iris.target_names) - -st.subheader('Prediction') -st.write(iris.target_names[prediction]) -#st.write(prediction) - -st.subheader('Prediction Probability') -st.write(prediction_proba) \ No newline at end of file diff --git a/app/src/pages/20_Admin_Home.py b/app/src/pages/20_Admin_Home.py deleted file mode 100644 index 0dbd0f36b4..0000000000 --- a/app/src/pages/20_Admin_Home.py +++ /dev/null @@ -1,17 +0,0 @@ -import logging -logger = logging.getLogger(__name__) - -import streamlit as st -from modules.nav import SideBarLinks -import requests - -st.set_page_config(layout = 'wide') - -SideBarLinks() - -st.title('System Admin Home Page') - -if st.button('Update ML Models', - type='primary', - use_container_width=True): - st.switch_page('pages/21_ML_Model_Mgmt.py') \ No newline at end of file diff --git a/app/src/pages/21_ML_Model_Mgmt.py b/app/src/pages/21_ML_Model_Mgmt.py deleted file mode 100644 index 148978c24b..0000000000 --- a/app/src/pages/21_ML_Model_Mgmt.py +++ /dev/null @@ -1,28 +0,0 @@ -import logging -logger = logging.getLogger(__name__) -import streamlit as st -from modules.nav import SideBarLinks -import requests - -st.set_page_config(layout = 'wide') - -SideBarLinks() - -st.title('App Administration Page') - -st.write('\n\n') -st.write('## Model 1 Maintenance') - -st.button("Train Model 01", - type = 'primary', - use_container_width=True) - -st.button('Test Model 01', - type = 'primary', - use_container_width=True) - -if st.button('Model 1 - get predicted value for 10, 25', - type = 'primary', - use_container_width=True): - results = requests.get('http://api:4000/c/prediction/10/25').json() - st.dataframe(results) diff --git a/app/src/pages/30_About.py b/app/src/pages/30_About.py index 07a2e9aab2..0eb7ce5bef 100644 --- a/app/src/pages/30_About.py +++ b/app/src/pages/30_About.py @@ -4,14 +4,11 @@ SideBarLinks() -st.write("# About this App") +st.write("# About Suds N' Duds ") st.markdown ( """ - This is a demo app for CS 3200 Course Project. - - The goal of this demo is to provide information on the tech stack - being used as well as demo some of the features of the various platforms. + Suds N' Duds is a smart, data-driven laundry delivery service—like UberEats, but for your laundry. Our easy-to-use app connects customers with local drivers who take care of the entire process. From picking up your laundry at your doorstep to getting it cleaned at a trusted local laundromat and delivering it back fresh and folded, Suds N' Duds handles the dirty work so you don’t have to. Stay tuned for more information and features to come! """ diff --git a/app/src/pages/AdminActivity.py b/app/src/pages/AdminActivity.py new file mode 100644 index 0000000000..e625853336 --- /dev/null +++ b/app/src/pages/AdminActivity.py @@ -0,0 +1,124 @@ +import logging +logger = logging.getLogger(__name__) + +import streamlit as st +from modules.nav import SideBarLinks +import pandas as pd +import numpy as np +import time +from datetime import datetime, timedelta + +# There were issues connecting with the backend databases, so I ended up hardcoding sample data just to show what it should look like. + +st.set_page_config(layout='wide') + +SideBarLinks() + +st.title('Activity Overview 📈') + +# Generate sample data for the charts and metrics +def generate_sample_data(): + # Generate dates for past week + end_date = datetime.now() + start_date = end_date - timedelta(days=7) + dates = pd.date_range(start=start_date, end=end_date, freq='D') + + # Generate user traffic data with some random variation + base_traffic = 100 + traffic_data = [base_traffic + np.random.randint(-20, 100) for _ in range(len(dates))] + + # Create traffic dataframe + traffic_df = pd.DataFrame({ + 'Date': dates, + 'Users': traffic_data + }) + + # Format dates as day names (Mon, Tue, etc.) + traffic_df['Day'] = traffic_df['Date'].dt.strftime('%a') + + return traffic_df + +# Generate sample log entries +def generate_logs(count=10): + log_types = [ + "New user added", + "Long response time detected", + "Database query timeout", + "API request failed", + "Authentication error", + "User login successful", + "File upload completed", + "System backup completed", + "Memory usage high", + "CPU usage spike" + ] + + logs = [] + now = datetime.now() + + for i in range(count): + time_offset = timedelta(hours=-(i*2), minutes=-(i*17)) + log_time = now + time_offset + log_entry = { + 'timestamp': log_time.strftime('%m/%d %H:%M'), + 'message': np.random.choice(log_types) + } + logs.append(log_entry) + + return logs + +# Create layout +col1, col2 = st.columns([3, 2]) + +# Left column - System overview and charts +with col1: + # System overview container + with st.container(border=True): + st.subheader('System Overview and Event Logs') + + # Generate traffic data + traffic_data = generate_sample_data() + + # System metrics in 3 columns + metrics_col1, metrics_col2, metrics_col3 = st.columns(3) + + with metrics_col1: + st.metric("Active User Count", "500") + + with metrics_col2: + st.metric("Response Time", "10 ms") + + with metrics_col3: + st.metric("Uptime", "90%") + + # User traffic chart + st.subheader('User Traffic Over Time') + chart_data = pd.DataFrame({ + 'index': traffic_data['Day'], + 'Users': traffic_data['Users'] + }).set_index('index') + + st.line_chart(chart_data) + +# Right column - Event logs and actions +with col2: + # Event log container + with st.container(border=True): + st.subheader('Event Log') + + logs = generate_logs(5) + + for log in logs: + st.text(f"[{log['timestamp']}] {log['message']}") + + # Action button for messaging + st.button('Send Message to New Users', type='primary', use_container_width=True) + + # Additional sample system health indicators + with st.expander("System Health Details"): + st.write("CPU Usage: 35%") + st.write("Memory Usage: 2.1 GB / 8 GB") + st.write("Disk Space: 120 GB available") + st.write("Last Backup: Today at 03:00 AM") + st.progress(35, "CPU Load") + st.progress(65, "Memory Usage") \ No newline at end of file diff --git a/app/src/pages/LaundromatSelection.py b/app/src/pages/LaundromatSelection.py new file mode 100644 index 0000000000..bc474ae475 --- /dev/null +++ b/app/src/pages/LaundromatSelection.py @@ -0,0 +1,21 @@ +import streamlit as st + +st.title("Select a Laundromat") + +# Service Options +st.subheader("Select Option(s)") +services = st.multiselect("Choose services:", ["Washing + Drying", "Pressing", "Ironing"]) + +# Laundromat Info with placeholder labels/data +laundromats = { + "Lawrence Laundry": ("2 hrs 30 mins", "$25.14 + $5.00 delivery"), + "Wrinkle Relief": ("1 hr 15 mins", "$34.67 + $6.25 delivery"), + "Suds and Duds": ("40 mins", "$29.99 + $10 delivery") +} + +st.subheader("Laundromat Options") +for name, (time, price) in laundromats.items(): + col1, col2, col3 = st.columns(3) + col1.write(f"**{name}**") + col2.write(time) + col3.write(price) diff --git a/app/src/pages/Steve_Logs.py b/app/src/pages/Steve_Logs.py new file mode 100644 index 0000000000..3c7ab20ae1 --- /dev/null +++ b/app/src/pages/Steve_Logs.py @@ -0,0 +1,15 @@ +import streamlit +import pandas +import requests + +streamlit.set_page_config(page_title = "Admin - Logs Viewer") + +streamlit.title("System Logs") + +response = requests.get("http://localhost:4000/logs") +if response.status_code == 200: + data = response.json() + data_frame = pandas.DataFrame(data) + streamlit.dataframe(data_frame) +else: + streamlit.error("Failed to fetch logs from the server.") \ No newline at end of file diff --git a/app/src/pages/SysAdmin_Home.py b/app/src/pages/SysAdmin_Home.py new file mode 100644 index 0000000000..43dba4fd08 --- /dev/null +++ b/app/src/pages/SysAdmin_Home.py @@ -0,0 +1,96 @@ +import logging +logger = logging.getLogger(__name__) + +import streamlit as st +from modules.nav import SideBarLinks +import pandas as pd + +# this is also not connected to the actual databse due to errors, it does visually show how it would and should look however + +st.set_page_config(layout='wide') + +SideBarLinks() + +st.title('User Management Dashboard') + +# Initialize session state for users that don't exist +if 'users' not in st.session_state: + # Sample initial data + st.session_state.users = pd.DataFrame({ + 'Name': ['Alice Smith', 'Bob Houston'], + 'Email': ['SmithA@email.com', 'HoustonB@email.com'], + 'Role': ['User', 'Admin'] + }) + +# Create a layout with two columns +col1, col2 = st.columns([3, 1]) + +with col2: + # Search section + with st.container(border=True): + st.subheader('Search') + search_name = st.text_input('Search by name') + search_email = st.text_input('Search by e-mail') + + if st.button('Search', use_container_width=True): + if search_name or search_email: + filtered_users = st.session_state.users[ + (st.session_state.users['Name'].str.contains(search_name, case=False) if search_name else True) & + (st.session_state.users['Email'].str.contains(search_email, case=False) if search_email else True) + ] + st.session_state.filtered = filtered_users + else: + st.session_state.filtered = st.session_state.users + + # Add New User section + with st.container(border=True): + st.subheader('Add New User') + new_name = st.text_input('Enter name') + new_email = st.text_input('Enter email') + new_role = st.selectbox('Enter role', ['User', 'Admin', 'Viewer']) + + if st.button('Add User', type='primary', use_container_width=True): + if new_name and new_email: + new_user = pd.DataFrame({ + 'Name': [new_name], + 'Email': [new_email], + 'Role': [new_role] + }) + st.session_state.users = pd.concat([st.session_state.users, new_user], ignore_index=True) + st.success(f"User {new_name} added successfully!") + # Reset input fields + st.rerun() + else: + st.error("Name and Email are required fields.") + +with col1: + # Show users in a table + st.subheader('Users') + + # Display filtered results if search was performed, otherwise show all users + display_df = st.session_state.get('filtered', st.session_state.users) + + # Reset filtered view button + if 'filtered' in st.session_state and st.button('Show All Users'): + del st.session_state.filtered + st.rerun() + + # Display the table with delete buttons + for i, row in display_df.iterrows(): + cols = st.columns([3, 3, 1]) + with cols[0]: + st.write(row['Name']) + with cols[1]: + st.write(row['Email']) + with cols[2]: + if st.button('DELETE', key=f"delete_{i}"): + user_index = st.session_state.users[ + (st.session_state.users['Name'] == row['Name']) & + (st.session_state.users['Email'] == row['Email']) + ].index + st.session_state.users = st.session_state.users.drop(user_index).reset_index(drop=True) + if 'filtered' in st.session_state: + del st.session_state.filtered + st.success(f"User {row['Name']} deleted successfully!") + st.rerun() + st.divider() \ No newline at end of file diff --git a/app/src/pages/Tomas_KPI.py b/app/src/pages/Tomas_KPI.py new file mode 100644 index 0000000000..4382dd0040 --- /dev/null +++ b/app/src/pages/Tomas_KPI.py @@ -0,0 +1,28 @@ +import streamlit +import pandas +import requests +import altair + +streamlit.set_page_config(page_title = "Analysis Revenue KPI") + +streamlit.title("Revenue Dashboard (KPI)") + +response = requests.get("http://localhost:4000/analytics/revenue-per-day") +if response.status_code == 200: + data = response.json() + data_frame = panda.DataFrame(data) + + # convert + data_frame['total_revenue'] = data_frame['total_revenue'].astype(float) + data_frame['date'] = panda.to_datetime(data_frame['date']) + + chart = altair.Chart(data_frame).mark_bar().encode( + x = altair.X('date:T', title = 'Date'), + y = altair.Y('total_revenue:Q', title = 'Total Revenue in USD'), + + tooltip=['date', 'total_revenue'] + ).properties(width = 1000, height = 500, title = 'Total Revenue per Day') + + streamlit.altair_chart(chart, use_container_width = True) +else: + streamlit.error("Failed to fetch data from API.") \ No newline at end of file diff --git a/app/src/pages/UserPreferences.py b/app/src/pages/UserPreferences.py new file mode 100644 index 0000000000..d029f3b595 --- /dev/null +++ b/app/src/pages/UserPreferences.py @@ -0,0 +1,18 @@ +import streamlit as st + +st.title("User Preferences") + +# Filters +st.subheader("Filter Via") +filter_option = st.radio("Choose a filter", ("Location", "Pricing", "Delivery")) + + +# Recent filters with placeholder info +st.subheader("Recent filters") +filters = ["filter 1", "filter 2", "filter 3"] +for search in filters: + col1, col2 = st.columns([3,1]) + col1.write(search) + col2.button("Select", key=search) + + st.button("Save Filter as Preference?") \ No newline at end of file diff --git a/database-files/01_LaundryApp.sql b/database-files/01_LaundryApp.sql new file mode 100644 index 0000000000..a18d180d5e --- /dev/null +++ b/database-files/01_LaundryApp.sql @@ -0,0 +1,90 @@ +CREATE DATABASE IF NOT EXISTS laundry_db; +USE laundry_db; + + +-- Customers Table +CREATE TABLE IF NOT EXISTS Customers ( + user_id INT AUTO_INCREMENT PRIMARY KEY, + firstName VARCHAR(100), + lastName VARCHAR(100), + email VARCHAR(100), + address TEXT +); + +-- Laundromat Table +CREATE TABLE IF NOT EXISTS laundromats ( + laundromat_id INT AUTO_INCREMENT PRIMARY KEY, + location VARCHAR(100), + pricing INT, + avg_rating INT, + delivery_fee INT, + coupon_rev VARCHAR(7), + num_orders INT +); + + + +-- Orders Table +CREATE TABLE IF NOT EXISTS orders ( + order_id INT AUTO_INCREMENT PRIMARY KEY, + user_id INT, + laundromat_id INT, + pickup_location VARCHAR(100), + delivery_location VARCHAR(100), + pickup_time DATETIME, + delivery_time DATETIME, + total_cost INT, + status TINYINT, + promo_code VARCHAR(100), + FOREIGN KEY (user_id) REFERENCES Customers(user_id) ON DELETE CASCADE, + FOREIGN KEY (laundromat_id) REFERENCES laundromats(laundromat_id) ON DELETE SET NULL +); + +-- Order Details Table +CREATE TABLE IF NOT EXISTS OrderDetails ( + detail_id INT AUTO_INCREMENT PRIMARY KEY, + order_id INT, + order_date DATETIME, + delivery_date DATETIME, + location VARCHAR(100), + FOREIGN KEY (order_id) REFERENCES orders(order_id) ON DELETE CASCADE +); + +-- Customer Reviews Table +CREATE TABLE IF NOT EXISTS CustomerReviews ( + review_id INT AUTO_INCREMENT PRIMARY KEY, + user_id INT, + laundromat_id INT, + rating INT, + text TEXT, + title TEXT, + FOREIGN KEY (user_id) REFERENCES Customers(user_id) ON DELETE CASCADE, + FOREIGN KEY (laundromat_id) REFERENCES laundromats(laundromat_id) ON DELETE CASCADE +); + + +-- Logs Table +CREATE TABLE IF NOT EXISTS Logs ( + logs_id INT AUTO_INCREMENT PRIMARY KEY, + event_type VARCHAR(100), + description TEXT, + timestamp DATETIME, + user_id INT, + FOREIGN KEY (user_id) REFERENCES Customers(user_id) ON DELETE CASCADE +); + +-- Locations Table +CREATE TABLE IF NOT EXISTS Locations ( + location_id INT AUTO_INCREMENT PRIMARY KEY, + user_id INT, + address VARCHAR(100), + label VARCHAR(100), + FOREIGN KEY (user_id) REFERENCES Customers(user_id) ON DELETE CASCADE +); + + + + + + + diff --git a/database-files/03_real_laundromatsData.sql b/database-files/03_real_laundromatsData.sql new file mode 100644 index 0000000000..19d489fa2f --- /dev/null +++ b/database-files/03_real_laundromatsData.sql @@ -0,0 +1,43 @@ +USE laundry_db; + +INSERT INTO laundromats ( location, pricing, avg_rating, delivery_fee, coupon_rev, num_orders) +VALUES ('Apt 1843',19.99,3.68,4.99,2.49,189), + ('Suite 93',69.99,1.14,79.99,18.99,72), + ('2nd Floor',39.99,4.04,19.99,44.99,134), + ('Room 1697',199.99,4.2,8.99,39.99,168), + ('7th Floor',34.99,1.43,49.99,6.49,63), + ('7th Floor',59.99,1.58,4.99,7.99,88), + ('11th Floor',3.49,3.41,1.99,5.49,33), + ('PO Box 21050',39.99,2.12,8.99,3.39,32), + ('11th Floor',5.49,4.07,39.99,3.99,124), + ('8th Floor',19.99,1.57,2.49,39.99,105), + ('Room 1660',199.99,4.68,49.99,5.99,30), + ('Apt 1061',129.99,2.28,1.89,59.99,182), + ('3rd Floor',4.29,1.86,2.49,19.99,28), + ('Suite 60',49.99,4.42,14.99,4.99,120), + ('PO Box 51658',3.19,4.38,8.99,6.89,192), + ('Suite 96',54.99,2.07,15.99,49.99,192), + ('12th Floor',6.99,2.93,29.99,2.29,117), + ('Suite 74',3.99,2.86,11.99,49.99,195), + ('19th Floor',299.99,4.81,22.99,4.99,19), + ('Room 40',0.99,3.01,59.99,2.49,81), + ('Room 1053',4.79,3.11,5.99,99.99,36), + ('3rd Floor',39.99,4.69,69.99,4.29,134), + ('PO Box 44967',3.49,1.94,28.99,3.29,70), + ('Apt 723',6.49,1.86,5.99,3.99,176), + ('Suite 84',29.99,3.36,29.99,44.99,151), + ('PO Box 30288',44.99,4.1,5.29,3.59,59), + ('Suite 8',19.99,1.63,2.89,79.99,43), + ('Suite 71',29.99,3.89,29.99,3.79,57), + ('1st Floor',3.99,3.18,1.29,14.99,12), + ('Apt 1391',4.49,2.57,18.99,3.99,45), + ('8th Floor',19.99,3.85,4.49,54.99,162), + ('Suite 78',1.5,3.75,1.79,59.99,179), + ('Room 299',2.99,1.99,89,19.99,190), + ('PO Box 56157',12.99,4.39,4.49,3.49,87), + ('Apt 1371',2.59,2.3,9.99,6.89,55), + ('1st Floor',1.29,1.4,39.99,3.99,143), + ('PO Box 443',9.99,1.73,6.99,14.99,164), + ('11th Floor',89.99,4.98,7.49,14.99,117), + ('Apt 850',14.99,1.55,2.29,2.59,76), + ('Room 1075',15.99,3.4,4.49,89.99,94); diff --git a/database-files/04_real_ordersData.sql b/database-files/04_real_ordersData.sql new file mode 100644 index 0000000000..16c396fb57 --- /dev/null +++ b/database-files/04_real_ordersData.sql @@ -0,0 +1,45 @@ +USE laundry_db; + +INSERT INTO orders (pickup_location, delivery_location, + pickup_time, delivery_time, total_cost, status, promo_code +) VALUES ('Apt 883','Apt 96','2024-08-18 00:00:00','2024-12-01 00:00:00',99.99,0,'PSN'), + ('11th Floor','20th Floor','2024-07-09 00:00:00','2024-05-02 00:00:00',89.99,1,'MAU'), + ('PO Box 94921','Apt 1997','2025-02-27 00:00:00','2024-10-15 00:00:00',19.99,0,'QGB'), + ('7th Floor','4th Floor','2024-11-26 00:00:00','2024-07-10 00:00:00',2.29,1,'AAX'), + ('Suite 59','PO Box 77218','2025-01-09 00:00:00','2024-08-10 00:00:00',49.99,0,'BYQ'), + ('Apt 732','Room 723','2024-04-29 00:00:00','2024-12-16 00:00:00',39.99,1,'MNY'), + ('Room 1203','2nd Floor','2024-11-03 00:00:00','2024-05-04 00:00:00',15.99,1,'JRF'), + ('Room 755','Room 235','2024-10-03 00:00:00','2025-01-07 00:00:00',69.99,1,'NKB'), + ('1st Floor','PO Box 17260','2025-02-05 00:00:00','2024-09-08 00:00:00',99.99,0,'CAA'), + ('Suite 26','Apt 1491','2024-11-21 00:00:00','2025-03-08 00:00:00',9.49,1,'KAM'), + ('Apt 1938','Room 900','2024-06-28 00:00:00','2025-04-02 00:00:00',59.99,1,'UIT'), + ('10th Floor','1st Floor','2024-09-29 00:00:00','2025-01-07 00:00:00',12.99,0,'GHE'), + ('8th Floor','Apt 209','2025-02-07 00:00:00','2024-04-18 00:00:00',22.99,0,'QJD'), + ('Apt 1581','Suite 34','2024-04-20 00:00:00','2024-09-26 00:00:00',9.99,1,'LZI'), + ('Suite 30','Apt 131','2024-11-08 00:00:00','2024-09-10 00:00:00',5.99,1,'MNU'), + ('Apt 1416','Apt 1889','2024-11-08 00:00:00','2024-07-12 00:00:00',9.99,0,'EJH'), + ('Suite 83','Suite 100','2024-11-02 00:00:00','2025-04-11 00:00:00',24.99,1,'YXQ'), + ('Apt 188','Suite 23','2024-06-23 00:00:00','2024-05-11 00:00:00',119.99,1,'CHP'), + ('1st Floor','Suite 97','2025-03-21 00:00:00','2024-08-14 00:00:00',59.99,1,'GEX'), + ('Suite 40','PO Box 8304','2024-08-08 00:00:00','2024-08-27 00:00:00',3.99,0,'YGW'), + ('Apt 1161','PO Box 610','2025-01-21 00:00:00','2025-01-02 00:00:00',39.99,1,'HIN'), + ('Room 410','Suite 35','2024-05-14 00:00:00','2024-06-05 00:00:00',99.99,1,'LIS'), + ('11th Floor','Suite 76','2025-03-29 00:00:00','2024-09-27 00:00:00',3.99,1,'CBM'), + ('Suite 41','Room 374','2024-10-03 00:00:00','2024-06-19 00:00:00',18.99,0,'KRN'), + ('18th Floor','Room 876','2024-05-31 00:00:00','2024-08-20 00:00:00',99.99,0,'NKS'), + ('Suite 61','PO Box 11828','2024-10-10 00:00:00','2024-12-19 00:00:00',5.99,0,'ZUH'), + ('18th Floor','1st Floor','2025-02-13 00:00:00','2025-03-06 00:00:00',3.99,1,'LDM'), + ('PO Box 46170','Room 306','2025-04-01 00:00:00','2025-01-18 00:00:00',119.99,0,'YNO'), + ('Apt 403','Apt 755','2025-03-03 00:00:00','2024-06-27 00:00:00',19.99,0,'MIE'), + ('3rd Floor','Room 1707','2024-04-23 00:00:00','2025-01-23 00:00:00',49.99,0,'BSF'), + ('Apt 1117','Suite 6','2025-03-24 00:00:00','2025-04-09 00:00:00',6.49,0,'SFR'), + ('3rd Floor','PO Box 14515','2024-07-27 00:00:00','2024-04-25 00:00:00',19.99,0,'TUS'), + ('Apt 1333','PO Box 41167','2024-09-04 00:00:00','2024-06-30 00:00:00',29.99,1,'LLF'), + ('Suite 32','PO Box 58770','2024-07-05 00:00:00','2025-01-01 00:00:00',59.99,0,'SPB'), + ('Apt 1031','Suite 11','2025-01-05 00:00:00','2025-01-01 00:00:00',19.99,1,'PXR'), + ('20th Floor','Suite 86','2024-06-27 00:00:00','2024-04-01 00:00:00',39.99,1,'MPT'), + ('11th Floor','Room 1952','2024-07-02 00:00:00','2025-01-04 00:00:00',12.99,1,'FAT'), + ('PO Box 85996','17th Floor','2024-10-01 00:00:00','2024-10-13 00:00:00',15.99,1,'TMN'), + ('11th Floor','16th Floor','2024-09-17 00:00:00','2024-07-06 00:00:00',4.29,0,'GUP'), + ('PO Box 14314','PO Box 29897','2024-08-16 00:00:00','2024-05-18 00:00:00',6.29,1,'TOB'); + diff --git a/database-files/mock data for steve/CustomerReviewsMockData.sql b/database-files/mock data for steve/CustomerReviewsMockData.sql new file mode 100644 index 0000000000..6e4a765274 --- /dev/null +++ b/database-files/mock data for steve/CustomerReviewsMockData.sql @@ -0,0 +1,50 @@ +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('1', '1', '80', '1', 'proin at turpis a pede posuere nonummy integer', 'Morbi non lectus. Aliquam sit amet diam in magna bibendum imperdiet. Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis. Fusce posuere felis sed lacus. Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl. Nunc rhoncus dui vel sem. Sed sagittis. Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('2', '2', '42', '3', 'cubilia curae duis faucibus', 'Nunc nisl. Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa. Donec dapibus. Duis at velit eu est congue elementum. In hac habitasse platea dictumst. Morbi vestibulum, velit id pretium iaculis, diam erat fermentum justo, nec condimentum neque sapien placerat ante. Nulla justo. Aliquam quis turpis eget elit sodales scelerisque.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('3', '3', '68', '1', 'hac habitasse platea dictumst aliquam augue quam sollicitudin vitae', 'Maecenas tincidunt lacus at velit. Vivamus vel nulla eget eros elementum pellentesque. Quisque porta volutpat erat. Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla. Nunc purus.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('4', '4', '100', '5', 'curabitur convallis duis consequat dui', 'Nunc purus. Phasellus in felis. Donec semper sapien a libero. Nam dui. Proin leo odio, porttitor id, consequat in, consequat ut, nulla. Sed accumsan felis. Ut at dolor quis odio consequat varius. Integer ac leo. Pellentesque ultrices mattis odio. Donec vitae nisi.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('5', '5', '42', '1', 'rutrum rutrum neque aenean auctor gravida sem praesent id massa id', 'Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis. Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci. Mauris lacinia sapien quis libero. Nullam sit amet turpis elementum ligula vehicula consequat. Morbi a ipsum. Integer a nibh.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('6', '6', '66', '1', 'odio curabitur convallis duis consequat dui nec nisi volutpat eleifend donec ut dolor', 'Integer ac neque. Duis bibendum. Morbi non quam nec dui luctus rutrum.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('7', '7', '8', '1', 'duis mattis egestas metus aenean fermentum donec ut mauris eget massa tempor convallis nulla', 'Morbi quis tortor id nulla ultrices aliquet. Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo. Pellentesque viverra pede ac diam. Cras pellentesque volutpat dui. Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam. Suspendisse potenti. Nullam porttitor lacus at turpis. Donec posuere metus vitae ipsum. Aliquam non mauris.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('8', '8', '2', '3', 'nunc', 'Praesent lectus. Vestibulum quam sapien, varius ut, blandit non, interdum in, ante. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio. Curabitur convallis. Duis consequat dui nec nisi volutpat eleifend. Donec ut dolor. Morbi vel lectus in quam fringilla rhoncus. Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis. Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci. Mauris lacinia sapien quis libero.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('9', '9', '90', '4', 'pede posuere nonummy integer non velit donec diam neque vestibulum eget vulputate ut', 'Phasellus sit amet erat. Nulla tempus. Vivamus in felis eu sapien cursus vestibulum. Proin eu mi. Nulla ac enim.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('10', '10', '25', '1', 'massa', 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('11', '11', '46', '3', 'primis in faucibus orci luctus et ultrices', 'Pellentesque at nulla. Suspendisse potenti. Cras in purus eu magna vulputate luctus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vivamus vestibulum sagittis sapien. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam vel augue. Vestibulum rutrum rutrum neque. Aenean auctor gravida sem.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('12', '12', '22', '3', 'donec vitae nisi nam ultrices libero non mattis pulvinar nulla', 'Praesent blandit. Nam nulla. Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede. Morbi porttitor lorem id ligula. Suspendisse ornare consequat lectus. In est risus, auctor sed, tristique in, tempus sit amet, sem.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('13', '13', '61', '5', 'mauris eget massa', 'Integer ac neque. Duis bibendum. Morbi non quam nec dui luctus rutrum. Nulla tellus. In sagittis dui vel nisl. Duis ac nibh. Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus. Suspendisse potenti.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('14', '14', '34', '4', 'lacus morbi quis tortor id nulla ultrices aliquet maecenas leo odio', 'Phasellus in felis. Donec semper sapien a libero. Nam dui.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('15', '15', '18', '5', 'elit proin risus praesent lectus vestibulum quam sapien varius', 'Duis mattis egestas metus. Aenean fermentum.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('16', '16', '64', '5', 'imperdiet et commodo', 'Duis ac nibh. Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('17', '17', '53', '2', 'venenatis tristique fusce congue diam id ornare imperdiet sapien urna pretium', 'Nulla justo.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('18', '18', '89', '2', 'nisl duis ac nibh fusce lacus purus aliquet at feugiat non pretium', 'Morbi a ipsum. Integer a nibh. In quis justo. Maecenas rhoncus aliquam lacus. Morbi quis tortor id nulla ultrices aliquet. Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo. Pellentesque viverra pede ac diam. Cras pellentesque volutpat dui.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('19', '19', '58', '5', 'id justo sit amet sapien dignissim vestibulum vestibulum ante ipsum primis in faucibus orci', 'Nulla ut erat id mauris vulputate elementum. Nullam varius. Nulla facilisi. Cras non velit nec nisi vulputate nonummy. Maecenas tincidunt lacus at velit. Vivamus vel nulla eget eros elementum pellentesque.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('20', '20', '5', '2', 'imperdiet nullam orci pede venenatis non sodales sed tincidunt eu felis fusce posuere', 'Aenean auctor gravida sem. Praesent id massa id nisl venenatis lacinia. Aenean sit amet justo.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('21', '21', '75', '3', 'mauris ullamcorper purus sit amet nulla', 'Proin at turpis a pede posuere nonummy. Integer non velit. Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi. Integer ac neque. Duis bibendum. Morbi non quam nec dui luctus rutrum. Nulla tellus. In sagittis dui vel nisl.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('22', '22', '16', '5', 'nulla sed vel enim sit amet nunc viverra dapibus nulla suscipit ligula in lacus', 'Ut tellus. Nulla ut erat id mauris vulputate elementum. Nullam varius. Nulla facilisi. Cras non velit nec nisi vulputate nonummy. Maecenas tincidunt lacus at velit. Vivamus vel nulla eget eros elementum pellentesque.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('23', '23', '39', '5', 'quisque porta volutpat erat quisque erat eros viverra eget congue', 'In eleifend quam a odio. In hac habitasse platea dictumst. Maecenas ut massa quis augue luctus tincidunt. Nulla mollis molestie lorem. Quisque ut erat. Curabitur gravida nisi at nibh. In hac habitasse platea dictumst.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('24', '24', '70', '5', 'vel ipsum praesent', 'Etiam pretium iaculis justo. In hac habitasse platea dictumst. Etiam faucibus cursus urna. Ut tellus.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('25', '25', '11', '3', 'praesent blandit nam nulla integer pede justo lacinia eget tincidunt eget tempus vel pede', 'Praesent blandit. Nam nulla.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('26', '26', '37', '2', 'tempus vivamus in felis eu sapien cursus vestibulum proin eu mi nulla', 'Nulla nisl. Nunc nisl.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('27', '27', '56', '5', 'aenean fermentum donec ut mauris eget massa tempor convallis', 'Nulla nisl. Nunc nisl.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('28', '28', '39', '5', 'ut suscipit a feugiat et eros vestibulum ac est', 'Nulla tempus. Vivamus in felis eu sapien cursus vestibulum. Proin eu mi. Nulla ac enim.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('29', '29', '31', '3', 'nonummy maecenas tincidunt lacus at velit vivamus vel nulla eget eros elementum pellentesque quisque', 'Sed accumsan felis. Ut at dolor quis odio consequat varius. Integer ac leo. Pellentesque ultrices mattis odio. Donec vitae nisi. Nam ultrices, libero non mattis pulvinar, nulla pede ullamcorper augue, a suscipit nulla elit ac nulla. Sed vel enim sit amet nunc viverra dapibus. Nulla suscipit ligula in lacus. Curabitur at ipsum ac tellus semper interdum. Mauris ullamcorper purus sit amet nulla.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('30', '30', '2', '5', 'est congue elementum in hac habitasse platea dictumst', 'Donec semper sapien a libero. Nam dui. Proin leo odio, porttitor id, consequat in, consequat ut, nulla. Sed accumsan felis. Ut at dolor quis odio consequat varius. Integer ac leo.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('31', '31', '47', '2', 'ultricies eu nibh quisque id', 'Aenean sit amet justo. Morbi ut odio. Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo. In blandit ultrices enim. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin interdum mauris non ligula pellentesque ultrices. Phasellus id sapien in sapien iaculis congue. Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl. Aenean lectus. Pellentesque eget nunc.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('32', '32', '80', '1', 'posuere nonummy integer non velit donec diam neque vestibulum eget vulputate ut ultrices', 'Curabitur convallis. Duis consequat dui nec nisi volutpat eleifend. Donec ut dolor. Morbi vel lectus in quam fringilla rhoncus. Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis. Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci. Mauris lacinia sapien quis libero.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('33', '33', '12', '4', 'ligula nec sem duis aliquam convallis nunc proin at turpis a', 'Sed vel enim sit amet nunc viverra dapibus. Nulla suscipit ligula in lacus. Curabitur at ipsum ac tellus semper interdum.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('34', '34', '57', '3', 'integer aliquet massa id lobortis convallis tortor risus dapibus augue vel accumsan tellus nisi', 'Etiam justo. Etiam pretium iaculis justo.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('35', '35', '76', '3', 'et ultrices posuere cubilia curae nulla dapibus dolor vel', 'In sagittis dui vel nisl.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('36', '36', '76', '4', 'odio porttitor id consequat in consequat ut nulla sed accumsan felis ut at', 'Sed ante. Vivamus tortor. Duis mattis egestas metus. Aenean fermentum. Donec ut mauris eget massa tempor convallis. Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh. Quisque id justo sit amet sapien dignissim vestibulum. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla dapibus dolor vel est. Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('37', '37', '4', '5', 'volutpat erat quisque erat', 'Duis aliquam convallis nunc. Proin at turpis a pede posuere nonummy. Integer non velit. Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('38', '38', '82', '2', 'lacus morbi sem mauris laoreet ut rhoncus aliquet pulvinar sed nisl nunc rhoncus', 'Etiam vel augue. Vestibulum rutrum rutrum neque. Aenean auctor gravida sem. Praesent id massa id nisl venenatis lacinia. Aenean sit amet justo.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('39', '39', '57', '5', 'in porttitor pede justo', 'Fusce posuere felis sed lacus. Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl. Nunc rhoncus dui vel sem. Sed sagittis. Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci. Nullam molestie nibh in lectus. Pellentesque at nulla. Suspendisse potenti. Cras in purus eu magna vulputate luctus.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('40', '40', '61', '4', 'justo', 'Nullam varius. Nulla facilisi. Cras non velit nec nisi vulputate nonummy. Maecenas tincidunt lacus at velit.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('41', '41', '36', '3', 'non velit donec diam', 'In hac habitasse platea dictumst. Morbi vestibulum, velit id pretium iaculis, diam erat fermentum justo, nec condimentum neque sapien placerat ante. Nulla justo. Aliquam quis turpis eget elit sodales scelerisque. Mauris sit amet eros. Suspendisse accumsan tortor quis turpis. Sed ante.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('42', '42', '25', '4', 'tincidunt', 'In quis justo.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('43', '43', '88', '4', 'sed lacus morbi sem mauris laoreet ut rhoncus aliquet pulvinar sed nisl nunc rhoncus', 'Integer a nibh. In quis justo. Maecenas rhoncus aliquam lacus. Morbi quis tortor id nulla ultrices aliquet. Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo. Pellentesque viverra pede ac diam.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('44', '44', '70', '4', 'dapibus', 'Vivamus vel nulla eget eros elementum pellentesque. Quisque porta volutpat erat. Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla. Nunc purus. Phasellus in felis. Donec semper sapien a libero. Nam dui.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('45', '45', '96', '5', 'sodales scelerisque mauris sit amet eros suspendisse accumsan tortor quis turpis sed ante vivamus', 'Ut tellus.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('46', '46', '94', '2', 'consectetuer adipiscing', 'Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh. Quisque id justo sit amet sapien dignissim vestibulum. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla dapibus dolor vel est. Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros. Vestibulum ac est lacinia nisi venenatis tristique. Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('47', '47', '51', '4', 'ac est lacinia nisi venenatis tristique fusce congue diam id', 'Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo. In blandit ultrices enim.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('48', '48', '98', '3', 'interdum in ante', 'Proin at turpis a pede posuere nonummy. Integer non velit. Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi. Integer ac neque. Duis bibendum. Morbi non quam nec dui luctus rutrum. Nulla tellus. In sagittis dui vel nisl. Duis ac nibh.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('49', '49', '90', '2', 'neque sapien placerat ante nulla justo', 'Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa. Donec dapibus.'); +INSERT INTO CustomerReviews (`review_id`, `user_id`, `laundromat_id`, `rating`, `title`, `text`) VALUES ('50', '50', '24', '3', 'aliquam erat volutpat in congue etiam justo etiam', 'Morbi a ipsum. Integer a nibh. In quis justo. Maecenas rhoncus aliquam lacus. Morbi quis tortor id nulla ultrices aliquet.'); \ No newline at end of file diff --git a/database-files/mock data for steve/OrderDetailsMockData.sql b/database-files/mock data for steve/OrderDetailsMockData.sql new file mode 100644 index 0000000000..4300e8816a --- /dev/null +++ b/database-files/mock data for steve/OrderDetailsMockData.sql @@ -0,0 +1,55 @@ +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('1', '1', '4/18/2024', '3/23/2025', '41 Crescent Oaks Street'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('2', '2', '11/10/2024', '8/17/2024', '41406 Evergreen Court'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('3', '3', '7/22/2024', '3/6/2025', '9 Grim Street'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('4', '4', '11/6/2024', '9/11/2024', '468 Pleasure Park'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('5', '5', '11/27/2024', '8/28/2024', '7229 Melrose Alley'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('6', '6', '1/7/2025', '1/5/2025', '3987 Atwood Street'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('7', '7', '11/12/2024', '7/27/2024', '966 Arizona Circle'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('8', '8', '5/19/2024', '11/24/2024', '28860 Lakeland Hill'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('9', '9', '4/14/2024', '9/23/2024', '0370 Columbus Park'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('10', '10', '8/23/2024', '2/25/2025', '9 Sutherland Avenue'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('11', '11', '6/1/2024', '11/26/2024', '1725 Boyd Trail'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('12', '12', '10/7/2024', '5/17/2024', '575 Cascade Road'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('13', '13', '1/5/2025', '4/5/2025', '37097 Pawling Plaza'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('14', '14', '7/5/2024', '10/3/2024', '33168 Moland Parkway'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('15', '15', '3/26/2025', '10/23/2024', '38680 High Crossing Junction'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('16', '16', '12/2/2024', '8/29/2024', '795 Moulton Avenue'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('17', '17', '7/6/2024', '5/18/2024', '81 Forster Center'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('18', '18', '8/15/2024', '11/27/2024', '17602 Mandrake Way'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('19', '19', '10/24/2024', '11/13/2024', '6 Thackeray Crossing'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('20', '20', '11/13/2024', '11/28/2024', '04443 Harper Park'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('21', '21', '6/29/2024', '6/23/2024', '236 Del Mar Park'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('22', '22', '3/8/2025', '5/18/2024', '8 Corry Road'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('23', '23', '7/29/2024', '11/18/2024', '250 Namekagon Terrace'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('24', '24', '12/20/2024', '6/13/2024', '40309 Delladonna Street'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('25', '25', '9/27/2024', '5/14/2024', '4 Luster Circle'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('26', '26', '2/4/2025', '10/10/2024', '2 Messerschmidt Way'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('27', '27', '1/26/2025', '10/5/2024', '6 Summerview Alley'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('28', '28', '10/20/2024', '3/23/2025', '5 Blaine Court'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('29', '29', '12/29/2024', '4/22/2024', '4 Heath Road'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('30', '30', '4/18/2024', '6/28/2024', '27 Merrick Way'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('31', '31', '11/15/2024', '6/18/2024', '0 Dixon Crossing'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('32', '32', '1/21/2025', '8/25/2024', '97 Dayton Avenue'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('33', '33', '12/20/2024', '9/8/2024', '65 Melody Center'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('34', '34', '12/21/2024', '9/14/2024', '106 Lyons Alley'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('35', '35', '1/28/2025', '7/14/2024', '92 Corscot Terrace'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('36', '36', '1/7/2025', '2/6/2025', '38 Lyons Plaza'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('37', '37', '2/15/2025', '3/6/2025', '9716 Barnett Plaza'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('38', '38', '11/11/2024', '1/24/2025', '34880 North Plaza'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('39', '39', '3/17/2025', '5/2/2024', '2 Beilfuss Road'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('40', '40', '7/13/2024', '2/23/2025', '3 Acker Park'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('41', '41', '11/29/2024', '4/1/2025', '2 Harper Lane'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('42', '42', '12/23/2024', '4/29/2024', '42539 Pawling Crossing'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('43', '43', '7/19/2024', '4/16/2024', '3 Graceland Drive'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('44', '44', '9/14/2024', '11/6/2024', '96 Mesta Court'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('45', '45', '7/12/2024', '7/8/2024', '345 Drewry Junction'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('46', '46', '10/23/2024', '6/30/2024', '69163 Utah Pass'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('47', '47', '2/10/2025', '2/4/2025', '96062 Hudson Alley'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('48', '48', '9/23/2024', '2/14/2025', '87 Sycamore Road'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('49', '49', '7/26/2024', '3/22/2025', '786 Union Avenue'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('50', '50', '1/20/2025', '8/25/2024', '29475 Springview Court'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('51', '51', '12/5/2024', '3/16/2025', '3696 Lien Way'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('52', '52', '9/15/2024', '8/8/2024', '866 Parkside Alley'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('53', '53', '1/12/2025', '4/10/2024', '2392 Holy Cross Road'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('54', '54', '10/14/2024', '8/27/2024', '4398 Algoma Point'); +INSERT INTO OrderDetails (`detail_id`, `order_id`, `order_date`, `delivery_date`, `location`) VALUES ('55', '55', '1/10/2025', '1/27/2025', '3 School Trail'); \ No newline at end of file diff --git a/database-files/mock data for steve/OrdersMockData.sql b/database-files/mock data for steve/OrdersMockData.sql new file mode 100644 index 0000000000..60c48435fc --- /dev/null +++ b/database-files/mock data for steve/OrdersMockData.sql @@ -0,0 +1,35 @@ +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('1', '1', '89', '89679 Ohio Center', '45 Fallview Hill', '1/12/2025', '5/20/2024', '14', 'done', '-5'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('2', '2', '231', '718 Larry Way', '491 Butterfield Road', '12/11/2024', '9/6/2024', '81', 'done', '-5'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('3', '3', '221', '7 Kedzie Street', '3 Dahle Road', '7/1/2024', '5/1/2024', '99', 'done', '-20'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('4', '4', '300', '4 Stone Corner Center', '76 Monterey Road', '12/27/2024', '4/12/2024', '22', 'done', '-5'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('5', '5', '77', '0563 Ronald Regan Court', '42 Nobel Park', '10/18/2024', '10/20/2024', '53', 'undone', '-10'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('6', '6', '102', '620 Ludington Drive', '860 Swallow Way', '12/6/2024', '6/11/2024', '39', 'done', '-5'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('7', '7', '132', '5532 Schiller Drive', '15895 Fallview Center', '5/24/2024', '4/23/2024', '20', 'done', '-20'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('8', '8', '189', '01 Northridge Parkway', '59789 Rowland Place', '4/3/2025', '10/3/2024', '39', 'undone', '-5'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('9', '9', '256', '042 Corry Circle', '0 Spenser Avenue', '9/22/2024', '4/25/2024', '53', 'undone', '-20'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('10', '10', '185', '1 Forest Run Way', '703 Service Point', '10/29/2024', '2/25/2025', '36', 'undone', '-5'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('11', '11', '217', '4 Elgar Drive', '88 Dryden Alley', '8/31/2024', '5/8/2024', '95', 'undone', '-20'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('12', '12', '73', '6595 Blackbird Crossing', '640 Kim Alley', '6/6/2024', '3/29/2025', '60', 'undone', '-10'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('13', '13', '191', '803 Commercial Pass', '81 Sunnyside Point', '7/26/2024', '10/14/2024', '82', 'done', '-10'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('14', '14', '34', '0222 Golf View Terrace', '8251 Beilfuss Point', '11/19/2024', '1/9/2025', '97', 'done', '-10'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('15', '15', '277', '5 Leroy Street', '02 Evergreen Drive', '1/5/2025', '11/15/2024', '98', 'undone', '-10'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('16', '16', '257', '5991 Scott Junction', '87 Union Circle', '3/30/2025', '6/9/2024', '62', 'done', '-5'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('17', '17', '102', '5 Delladonna Court', '118 Westend Court', '2/24/2025', '4/29/2024', '42', 'undone', '-5'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('18', '18', '43', '7 Delaware Court', '4 Melvin Road', '4/30/2024', '10/8/2024', '95', 'done', '-5'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('19', '19', '68', '814 Judy Junction', '1197 Westend Pass', '2/26/2025', '4/20/2024', '61', 'undone', '-20'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('20', '20', '108', '405 Dawn Junction', '78111 Norway Maple Circle', '8/31/2024', '3/10/2025', '59', 'done', '-20'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('21', '21', '256', '5327 Derek Circle', '8911 Nova Court', '7/16/2024', '7/14/2024', '75', 'undone', '-20'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('22', '22', '135', '79 Maryland Alley', '653 Ilene Circle', '3/5/2025', '11/10/2024', '41', 'done', '-10'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('23', '23', '111', '61 Hooker Terrace', '222 Mallard Road', '2/19/2025', '10/20/2024', '60', 'undone', '-10'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('24', '24', '168', '3994 Atwood Court', '5151 Spaight Center', '2/18/2025', '3/31/2025', '79', 'done', '-10'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('25', '25', '219', '3 Dexter Street', '979 Toban Point', '3/12/2025', '11/11/2024', '77', 'done', '-10'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('26', '26', '47', '3 Kings Terrace', '363 Steensland Trail', '3/3/2025', '5/25/2024', '10', 'undone', '-5'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('27', '27', '107', '3 Pawling Street', '24782 Rutledge Center', '7/18/2024', '7/8/2024', '32', 'undone', '-5'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('28', '28', '128', '8 Dennis Circle', '7 Steensland Place', '3/3/2025', '5/5/2024', '47', 'done', '-5'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('29', '29', '286', '510 Mcbride Point', '02 Tennyson Crossing', '3/22/2025', '9/14/2024', '12', 'undone', '-5'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('30', '30', '288', '40606 Crescent Oaks Road', '37817 Shelley Alley', '4/25/2024', '12/4/2024', '88', 'undone', '-20'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('31', '31', '176', '2 Brentwood Trail', '079 Bayside Street', '5/13/2024', '9/23/2024', '71', 'undone', '-20'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('32', '32', '197', '423 Coolidge Court', '07 Marquette Parkway', '5/18/2024', '5/8/2024', '82', 'undone', '-20'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('33', '33', '53', '3 Hallows Drive', '99 Village Green Trail', '8/19/2024', '10/8/2024', '58', 'undone', '-20'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('34', '34', '146', '434 Bayside Road', '69131 Brown Crossing', '11/13/2024', '2/18/2025', '72', 'done', '-20'); +INSERT INTO Orders (`order_id`, `user_id`, `laundromat_id`, `pickup_location`, `delivery_location`, `pickup_time`, `delivery_time`, `total_cost`, `status`, `promo_code`) VALUES ('35', '35', '68', '086 Superior Junction', '253 Lawn Avenue', '11/14/2024', '7/1/2024', '99', 'undone', '-20'); \ No newline at end of file diff --git a/database-files/mock data for steve/analysisMockData.sql b/database-files/mock data for steve/analysisMockData.sql new file mode 100644 index 0000000000..833ff5988a --- /dev/null +++ b/database-files/mock data for steve/analysisMockData.sql @@ -0,0 +1,3 @@ +INSERT INTO analysis (`num_orders`, `num_users`) VALUES ('192', '140'); +INSERT INTO analysis (`num_orders`, `num_users`) VALUES ('115', '228'); +INSERT INTO analysis (`num_orders`, `num_users`) VALUES ('278', '115'); \ No newline at end of file diff --git a/database-files/mock data for steve/customerMockData.sql b/database-files/mock data for steve/customerMockData.sql new file mode 100644 index 0000000000..f4f9d88c7f --- /dev/null +++ b/database-files/mock data for steve/customerMockData.sql @@ -0,0 +1,35 @@ +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('1', 'Atlante', 'Hallut', 'ahallut0@yelp.com', '3554 Twin Pines Drive'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('2', 'Querida', 'Trahar', 'qtrahar1@alexa.com', '488 Emmet Trail'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('3', 'Earl', 'Dumbellow', 'edumbellow2@kickstarter.com', '94 Grayhawk Trail'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('4', 'Penny', 'Challener', 'pchallener3@wordpress.org', '88031 Carpenter Crossing'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('5', 'Christel', 'Vidyapin', 'cvidyapin4@java.com', '542 Karstens Parkway'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('6', 'Krystalle', 'Cardozo', 'kcardozo5@examiner.com', '4066 Meadow Valley Junction'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('7', 'Robers', 'Charteris', 'rcharteris6@boston.com', '154 Hanover Park'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('8', 'Morris', 'McNeish', 'mmcneish7@hexun.com', '9 Shoshone Hill'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('9', 'Arlina', 'Maliphant', 'amaliphant8@imageshack.us', '818 Kipling Park'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('10', 'Miof mela', 'Wroth', 'mwroth9@vimeo.com', '80 4th Circle'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('11', 'Kassi', 'Jobern', 'kjoberna@dot.gov', '998 1st Drive'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('12', 'Ysabel', 'Keech', 'ykeechb@blog.com', '30 East Point'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('13', 'Orelia', 'Evert', 'oevertc@vistaprint.com', '6 Hanson Pass'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('14', 'Lira', 'Drache', 'ldrached@sakura.ne.jp', '4804 Melvin Circle'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('15', 'Jan', 'Chiplen', 'jchiplene@pen.io', '4 Ruskin Court'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('16', 'Sharlene', 'Gingle', 'sginglef@blogtalkradio.com', '9409 Linden Way'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('17', 'Clemmy', 'Cooley', 'ccooleyg@nbcnews.com', '2050 Towne Park'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('18', 'Leighton', 'Ellesworthe', 'lelleswortheh@sogou.com', '7692 Mcbride Circle'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('19', 'Bowie', 'Rays', 'braysi@omniture.com', '114 Maple Street'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('20', 'Cate', 'Tourville', 'ctourvillej@linkedin.com', '1660 Lawn Street'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('21', 'Krissie', 'Lettsom', 'klettsomk@yolasite.com', '269 Lakewood Drive'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('22', 'Griffy', 'Flockhart', 'gflockhartl@sfgate.com', '79061 Steensland Plaza'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('23', 'Cad', 'Biaggioni', 'cbiaggionim@over-blog.com', '2788 Blaine Point'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('24', 'Berni', 'Kas', 'bkasn@europa.eu', '4 Sachs Point'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('25', 'Catherin', 'Shields', 'cshieldso@samsung.com', '7859 Kensington Hill'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('26', 'Crosby', 'Lovejoy', 'clovejoyp@liveinternet.ru', '7 Hoffman Crossing'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('27', 'Erhard', 'Elner', 'eelnerq@sun.com', '73 Trailsway Avenue'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('28', 'Coraline', 'Hadenton', 'chadentonr@yahoo.co.jp', '057 Petterle Circle'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('29', 'Reggie', 'Pimley', 'rpimleys@bandcamp.com', '1398 Marcy Plaza'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('30', 'Raleigh', 'Pursglove', 'rpursglovet@geocities.com', '1 Northview Lane'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('31', 'Emmet', 'Van Daalen', 'evandaalenu@yellowbook.com', '51 Dayton Drive'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('32', 'Sheeree', 'Bladen', 'sbladenv@hhs.gov', '47 Union Point'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('33', 'Florida', 'Gronow', 'fgronoww@imageshack.us', '669 Hansons Terrace'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('34', 'Dori', 'Drew-Clifton', 'ddrewcliftonx@smugmug.com', '1 Russell Parkway'); +INSERT INTO customer (`user_id`, `firstname`, `lastname`, `email`, `address`) VALUES ('35', 'Hastings', 'Berston', 'hberstony@tmall.com', '8 Bonner Park'); \ No newline at end of file diff --git a/database-files/mock data for steve/logsMockData.sql b/database-files/mock data for steve/logsMockData.sql new file mode 100644 index 0000000000..2adb6e7928 --- /dev/null +++ b/database-files/mock data for steve/logsMockData.sql @@ -0,0 +1,55 @@ +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('1', 'error', 'In quis justo. Maecenas rhoncus aliquam lacus. Morbi quis tortor id nulla ultrices aliquet. Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo. Pellentesque viverra pede ac diam.', '11/6/2024', '1'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('2', 'warning', 'In hac habitasse platea dictumst. Etiam faucibus cursus urna. Ut tellus. Nulla ut erat id mauris vulputate elementum. Nullam varius. Nulla facilisi. Cras non velit nec nisi vulputate nonummy. Maecenas tincidunt lacus at velit. Vivamus vel nulla eget eros elementum pellentesque.', '1/23/2025', '2'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('3', 'error', 'Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl. Aenean lectus. Pellentesque eget nunc. Donec quis orci eget orci vehicula condimentum. Curabitur in libero ut massa volutpat convallis. Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo. Maecenas pulvinar lobortis est. Phasellus sit amet erat.', '5/22/2024', '3'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('4', 'warning', 'Praesent lectus. Vestibulum quam sapien, varius ut, blandit non, interdum in, ante. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio. Curabitur convallis. Duis consequat dui nec nisi volutpat eleifend. Donec ut dolor. Morbi vel lectus in quam fringilla rhoncus.', '3/18/2025', '4'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('5', 'error', 'Etiam pretium iaculis justo.', '5/13/2024', '5'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('6', 'warning', 'Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis. Fusce posuere felis sed lacus. Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl. Nunc rhoncus dui vel sem. Sed sagittis. Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci. Nullam molestie nibh in lectus. Pellentesque at nulla.', '6/29/2024', '6'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('7', 'info', 'Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl. Aenean lectus. Pellentesque eget nunc. Donec quis orci eget orci vehicula condimentum. Curabitur in libero ut massa volutpat convallis. Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo. Maecenas pulvinar lobortis est. Phasellus sit amet erat. Nulla tempus.', '10/24/2024', '7'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('8', 'warning', 'Morbi non lectus. Aliquam sit amet diam in magna bibendum imperdiet.', '3/16/2025', '8'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('9', 'error', 'Morbi vel lectus in quam fringilla rhoncus. Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis. Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci. Mauris lacinia sapien quis libero. Nullam sit amet turpis elementum ligula vehicula consequat.', '10/30/2024', '9'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('10', 'info', 'Proin eu mi. Nulla ac enim. In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem. Duis aliquam convallis nunc. Proin at turpis a pede posuere nonummy. Integer non velit. Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi. Integer ac neque. Duis bibendum.', '10/28/2024', '10'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('11', 'info', 'Etiam vel augue. Vestibulum rutrum rutrum neque. Aenean auctor gravida sem. Praesent id massa id nisl venenatis lacinia. Aenean sit amet justo. Morbi ut odio. Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo.', '7/19/2024', '11'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('12', 'warning', 'Praesent lectus. Vestibulum quam sapien, varius ut, blandit non, interdum in, ante. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio. Curabitur convallis. Duis consequat dui nec nisi volutpat eleifend. Donec ut dolor. Morbi vel lectus in quam fringilla rhoncus.', '6/6/2024', '12'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('13', 'info', 'Proin interdum mauris non ligula pellentesque ultrices. Phasellus id sapien in sapien iaculis congue. Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl. Aenean lectus. Pellentesque eget nunc.', '4/25/2024', '13'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('14', 'error', 'Etiam pretium iaculis justo. In hac habitasse platea dictumst. Etiam faucibus cursus urna. Ut tellus. Nulla ut erat id mauris vulputate elementum. Nullam varius. Nulla facilisi. Cras non velit nec nisi vulputate nonummy.', '8/30/2024', '14'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('15', 'info', 'Pellentesque at nulla. Suspendisse potenti.', '11/19/2024', '15'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('16', 'error', 'Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio. Curabitur convallis. Duis consequat dui nec nisi volutpat eleifend. Donec ut dolor. Morbi vel lectus in quam fringilla rhoncus. Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis.', '4/18/2024', '16'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('17', 'error', 'Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi. Integer ac neque. Duis bibendum. Morbi non quam nec dui luctus rutrum. Nulla tellus. In sagittis dui vel nisl. Duis ac nibh. Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus. Suspendisse potenti.', '6/8/2024', '17'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('18', 'info', 'Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis. Fusce posuere felis sed lacus. Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl. Nunc rhoncus dui vel sem. Sed sagittis. Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci. Nullam molestie nibh in lectus.', '10/20/2024', '18'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('19', 'warning', 'Nunc purus. Phasellus in felis. Donec semper sapien a libero. Nam dui. Proin leo odio, porttitor id, consequat in, consequat ut, nulla. Sed accumsan felis. Ut at dolor quis odio consequat varius. Integer ac leo.', '3/31/2025', '19'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('20', 'error', 'Sed accumsan felis. Ut at dolor quis odio consequat varius.', '2/17/2025', '20'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('21', 'error', 'Duis aliquam convallis nunc. Proin at turpis a pede posuere nonummy. Integer non velit. Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi. Integer ac neque.', '9/2/2024', '21'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('22', 'warning', 'Donec vitae nisi. Nam ultrices, libero non mattis pulvinar, nulla pede ullamcorper augue, a suscipit nulla elit ac nulla. Sed vel enim sit amet nunc viverra dapibus. Nulla suscipit ligula in lacus. Curabitur at ipsum ac tellus semper interdum. Mauris ullamcorper purus sit amet nulla. Quisque arcu libero, rutrum ac, lobortis vel, dapibus at, diam. Nam tristique tortor eu pede.', '7/17/2024', '22'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('23', 'error', 'In quis justo. Maecenas rhoncus aliquam lacus. Morbi quis tortor id nulla ultrices aliquet. Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo. Pellentesque viverra pede ac diam. Cras pellentesque volutpat dui. Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc.', '4/17/2024', '23'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('24', 'info', 'In est risus, auctor sed, tristique in, tempus sit amet, sem. Fusce consequat. Nulla nisl.', '7/31/2024', '24'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('25', 'info', 'Maecenas pulvinar lobortis est. Phasellus sit amet erat. Nulla tempus. Vivamus in felis eu sapien cursus vestibulum. Proin eu mi. Nulla ac enim. In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem. Duis aliquam convallis nunc.', '3/10/2025', '25'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('26', 'info', 'Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.', '4/7/2025', '26'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('27', 'error', 'Nullam molestie nibh in lectus. Pellentesque at nulla. Suspendisse potenti. Cras in purus eu magna vulputate luctus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.', '6/27/2024', '27'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('28', 'warning', 'Duis at velit eu est congue elementum. In hac habitasse platea dictumst. Morbi vestibulum, velit id pretium iaculis, diam erat fermentum justo, nec condimentum neque sapien placerat ante. Nulla justo. Aliquam quis turpis eget elit sodales scelerisque.', '11/7/2024', '28'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('29', 'error', 'Vivamus in felis eu sapien cursus vestibulum. Proin eu mi. Nulla ac enim. In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem. Duis aliquam convallis nunc. Proin at turpis a pede posuere nonummy. Integer non velit. Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue.', '4/16/2024', '29'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('30', 'info', 'Etiam justo. Etiam pretium iaculis justo. In hac habitasse platea dictumst.', '5/6/2024', '30'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('31', 'info', 'Maecenas tincidunt lacus at velit. Vivamus vel nulla eget eros elementum pellentesque. Quisque porta volutpat erat. Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla. Nunc purus. Phasellus in felis. Donec semper sapien a libero.', '2/10/2025', '31'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('32', 'warning', 'Duis mattis egestas metus. Aenean fermentum. Donec ut mauris eget massa tempor convallis. Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh. Quisque id justo sit amet sapien dignissim vestibulum. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla dapibus dolor vel est.', '7/19/2024', '32'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('33', 'info', 'Donec ut mauris eget massa tempor convallis. Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh. Quisque id justo sit amet sapien dignissim vestibulum. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla dapibus dolor vel est. Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros. Vestibulum ac est lacinia nisi venenatis tristique. Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue. Aliquam erat volutpat.', '8/7/2024', '33'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('34', 'error', 'Phasellus sit amet erat. Nulla tempus. Vivamus in felis eu sapien cursus vestibulum. Proin eu mi. Nulla ac enim. In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem. Duis aliquam convallis nunc. Proin at turpis a pede posuere nonummy. Integer non velit.', '3/24/2025', '34'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('35', 'warning', 'Etiam justo. Etiam pretium iaculis justo. In hac habitasse platea dictumst. Etiam faucibus cursus urna. Ut tellus. Nulla ut erat id mauris vulputate elementum. Nullam varius.', '2/22/2025', '35'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('36', 'error', 'Sed accumsan felis. Ut at dolor quis odio consequat varius. Integer ac leo. Pellentesque ultrices mattis odio. Donec vitae nisi. Nam ultrices, libero non mattis pulvinar, nulla pede ullamcorper augue, a suscipit nulla elit ac nulla.', '4/7/2025', '36'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('37', 'warning', 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin risus. Praesent lectus. Vestibulum quam sapien, varius ut, blandit non, interdum in, ante. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio. Curabitur convallis. Duis consequat dui nec nisi volutpat eleifend.', '11/4/2024', '37'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('38', 'error', 'Suspendisse potenti. Nullam porttitor lacus at turpis. Donec posuere metus vitae ipsum. Aliquam non mauris. Morbi non lectus. Aliquam sit amet diam in magna bibendum imperdiet. Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis. Fusce posuere felis sed lacus.', '2/12/2025', '38'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('39', 'info', 'Nulla tellus. In sagittis dui vel nisl. Duis ac nibh. Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus. Suspendisse potenti. In eleifend quam a odio. In hac habitasse platea dictumst. Maecenas ut massa quis augue luctus tincidunt.', '12/14/2024', '39'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('40', 'info', 'Phasellus sit amet erat. Nulla tempus. Vivamus in felis eu sapien cursus vestibulum. Proin eu mi. Nulla ac enim. In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem.', '6/20/2024', '40'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('41', 'warning', 'Morbi a ipsum.', '5/31/2024', '41'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('42', 'warning', 'Vivamus vestibulum sagittis sapien. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam vel augue. Vestibulum rutrum rutrum neque. Aenean auctor gravida sem. Praesent id massa id nisl venenatis lacinia. Aenean sit amet justo.', '9/5/2024', '42'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('43', 'info', 'In est risus, auctor sed, tristique in, tempus sit amet, sem. Fusce consequat. Nulla nisl. Nunc nisl. Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.', '5/30/2024', '43'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('44', 'warning', 'Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo. Pellentesque viverra pede ac diam. Cras pellentesque volutpat dui. Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam. Suspendisse potenti.', '3/18/2025', '44'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('45', 'info', 'Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.', '11/14/2024', '45'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('46', 'error', 'Proin risus. Praesent lectus. Vestibulum quam sapien, varius ut, blandit non, interdum in, ante. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio. Curabitur convallis. Duis consequat dui nec nisi volutpat eleifend.', '10/1/2024', '46'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('47', 'error', 'Cras pellentesque volutpat dui. Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam. Suspendisse potenti. Nullam porttitor lacus at turpis.', '6/14/2024', '47'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('48', 'info', 'Nam dui. Proin leo odio, porttitor id, consequat in, consequat ut, nulla. Sed accumsan felis. Ut at dolor quis odio consequat varius. Integer ac leo. Pellentesque ultrices mattis odio. Donec vitae nisi. Nam ultrices, libero non mattis pulvinar, nulla pede ullamcorper augue, a suscipit nulla elit ac nulla. Sed vel enim sit amet nunc viverra dapibus.', '11/17/2024', '48'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('49', 'info', 'Phasellus id sapien in sapien iaculis congue. Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl. Aenean lectus. Pellentesque eget nunc. Donec quis orci eget orci vehicula condimentum. Curabitur in libero ut massa volutpat convallis. Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo. Maecenas pulvinar lobortis est. Phasellus sit amet erat. Nulla tempus.', '7/19/2024', '49'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('50', 'warning', 'Integer tincidunt ante vel ipsum. Praesent blandit lacinia erat. Vestibulum sed magna at nunc commodo placerat.', '10/8/2024', '50'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('51', 'error', 'In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem.', '11/2/2024', '51'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('52', 'warning', 'Donec posuere metus vitae ipsum. Aliquam non mauris. Morbi non lectus. Aliquam sit amet diam in magna bibendum imperdiet. Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis. Fusce posuere felis sed lacus. Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl. Nunc rhoncus dui vel sem.', '1/15/2025', '52'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('53', 'error', 'Suspendisse potenti. Nullam porttitor lacus at turpis. Donec posuere metus vitae ipsum. Aliquam non mauris. Morbi non lectus. Aliquam sit amet diam in magna bibendum imperdiet.', '7/14/2024', '53'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('54', 'info', 'Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam. Suspendisse potenti. Nullam porttitor lacus at turpis. Donec posuere metus vitae ipsum. Aliquam non mauris. Morbi non lectus. Aliquam sit amet diam in magna bibendum imperdiet.', '12/6/2024', '54'); +INSERT INTO logs (`1ogs_id`, `event_type`, `description`, `timestamp`, `user_id`) VALUES ('55', 'error', 'Duis mattis egestas metus. Aenean fermentum. Donec ut mauris eget massa tempor convallis. Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh. Quisque id justo sit amet sapien dignissim vestibulum. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla dapibus dolor vel est. Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros. Vestibulum ac est lacinia nisi venenatis tristique.', '12/27/2024', '55'); \ No newline at end of file diff --git a/database-files/mock data for tomas/tomasAppAnalyticsMOCK_DATA.sql b/database-files/mock data for tomas/tomasAppAnalyticsMOCK_DATA.sql new file mode 100644 index 0000000000..5b5678a01b --- /dev/null +++ b/database-files/mock data for tomas/tomasAppAnalyticsMOCK_DATA.sql @@ -0,0 +1,60 @@ +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('342', '87'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('115', '131'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('308', '146'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('341', '88'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('374', '146'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('222', '140'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('301', '89'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('345', '99'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('232', '111'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('223', '122'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('335', '114'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('326', '85'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('113', '95'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('371', '75'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('367', '86'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('153', '81'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('179', '114'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('105', '80'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('204', '93'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('198', '80'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('460', '85'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('329', '137'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('342', '133'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('175', '94'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('200', '71'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('239', '84'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('206', '144'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('298', '131'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('418', '119'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('394', '149'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('470', '142'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('444', '140'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('465', '140'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('237', '89'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('305', '73'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('228', '65'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('141', '65'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('226', '85'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('206', '62'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('447', '106'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('136', '92'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('340', '113'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('432', '53'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('113', '54'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('290', '112'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('352', '54'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('404', '104'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('202', '128'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('118', '113'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('245', '110'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('339', '150'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('122', '122'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('312', '99'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('324', '143'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('360', '62'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('364', '90'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('180', '111'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('210', '105'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('217', '72'); +INSERT INTO tomasAppAnalyticsMOCK_DATA (`num_orders`, `num_users`) VALUES ('376', '53'); \ No newline at end of file diff --git a/database-files/mock data for tomas/tomasCustomerReviewsMOCK_DATA.sql b/database-files/mock data for tomas/tomasCustomerReviewsMOCK_DATA.sql new file mode 100644 index 0000000000..2836d2c921 --- /dev/null +++ b/database-files/mock data for tomas/tomasCustomerReviewsMOCK_DATA.sql @@ -0,0 +1,60 @@ +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('1', '41', '2', '4', 'Suspendisse ornare consequat lectus.', 'amet eros suspendisse accumsan tortor'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('2', '5', '3', '4', 'Suspendisse potenti. Nullam porttitor lacus at turpis. Donec posuere metus vitae ipsum. Aliquam non mauris.', 'vulputate luctus cum'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('3', '8', '4', '3', 'Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis. Fusce posuere felis sed lacus.', 'donec posuere metus vitae'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('4', '43', '4', '1', 'Quisque porta volutpat erat. Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla. Nunc purus. Phasellus in felis. Donec semper sapien a libero.', 'orci vehicula condimentum curabitur'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('5', '20', '3', '5', 'Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis.', 'sem praesent id'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('6', '48', '3', '2', 'Nam ultrices, libero non mattis pulvinar, nulla pede ullamcorper augue, a suscipit nulla elit ac nulla. Sed vel enim sit amet nunc viverra dapibus. Nulla suscipit ligula in lacus. Curabitur at ipsum ac tellus semper interdum.', 'non ligula pellentesque ultrices phasellus'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('7', '14', '2', '4', 'In eleifend quam a odio. In hac habitasse platea dictumst.', 'dolor sit amet consectetuer'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('8', '30', '4', '5', 'Curabitur convallis. Duis consequat dui nec nisi volutpat eleifend. Donec ut dolor. Morbi vel lectus in quam fringilla rhoncus.', 'nulla eget eros'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('9', '7', '3', '3', 'In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem. Duis aliquam convallis nunc. Proin at turpis a pede posuere nonummy. Integer non velit.', 'eu mi nulla ac enim'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('10', '41', '3', '4', 'Fusce posuere felis sed lacus. Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl. Nunc rhoncus dui vel sem. Sed sagittis. Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci.', 'volutpat in congue'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('11', '30', '5', '2', 'Nullam sit amet turpis elementum ligula vehicula consequat. Morbi a ipsum.', 'nulla tempus vivamus'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('12', '22', '2', '4', 'Aliquam augue quam, sollicitudin vitae, consectetuer eget, rutrum at, lorem. Integer tincidunt ante vel ipsum. Praesent blandit lacinia erat. Vestibulum sed magna at nunc commodo placerat.', 'potenti cras in'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('13', '43', '3', '1', 'Nulla suscipit ligula in lacus.', 'molestie lorem quisque ut erat'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('14', '41', '4', '2', 'Nullam porttitor lacus at turpis. Donec posuere metus vitae ipsum. Aliquam non mauris. Morbi non lectus.', 'pulvinar sed nisl nunc rhoncus'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('15', '50', '3', '2', 'Nulla ac enim.', 'sapien ut nunc'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('16', '29', '1', '5', 'Proin risus. Praesent lectus. Vestibulum quam sapien, varius ut, blandit non, interdum in, ante. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio. Curabitur convallis.', 'donec odio justo sollicitudin ut'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('17', '48', '2', '4', 'Curabitur convallis. Duis consequat dui nec nisi volutpat eleifend. Donec ut dolor. Morbi vel lectus in quam fringilla rhoncus.', 'cras non velit nec'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('18', '22', '4', '2', 'Duis aliquam convallis nunc. Proin at turpis a pede posuere nonummy. Integer non velit.', 'convallis duis consequat dui nec'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('19', '49', '1', '5', 'Mauris sit amet eros. Suspendisse accumsan tortor quis turpis. Sed ante. Vivamus tortor.', 'tellus nisi eu orci mauris'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('20', '27', '4', '4', 'Pellentesque eget nunc. Donec quis orci eget orci vehicula condimentum. Curabitur in libero ut massa volutpat convallis. Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo.', 'nunc donec quis orci eget'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('21', '25', '1', '2', 'Cras non velit nec nisi vulputate nonummy. Maecenas tincidunt lacus at velit.', 'luctus cum sociis natoque'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('22', '18', '1', '4', 'Nunc purus. Phasellus in felis.', 'enim lorem ipsum dolor'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('23', '17', '5', '3', 'Proin at turpis a pede posuere nonummy. Integer non velit. Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue.', 'est risus auctor sed'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('24', '9', '4', '4', 'Sed accumsan felis. Ut at dolor quis odio consequat varius. Integer ac leo. Pellentesque ultrices mattis odio.', 'volutpat quam pede'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('25', '46', '1', '4', 'Integer non velit. Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi. Integer ac neque.', 'orci mauris lacinia sapien quis'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('26', '23', '1', '4', 'Vivamus vel nulla eget eros elementum pellentesque. Quisque porta volutpat erat. Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla.', 'suscipit ligula in lacus'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('27', '48', '4', '2', 'Cras non velit nec nisi vulputate nonummy. Maecenas tincidunt lacus at velit. Vivamus vel nulla eget eros elementum pellentesque. Quisque porta volutpat erat. Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla.', 'diam id ornare'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('28', '11', '2', '2', 'Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam vel augue. Vestibulum rutrum rutrum neque. Aenean auctor gravida sem. Praesent id massa id nisl venenatis lacinia.', 'sapien sapien non mi'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('29', '15', '4', '1', 'Aliquam quis turpis eget elit sodales scelerisque. Mauris sit amet eros. Suspendisse accumsan tortor quis turpis. Sed ante.', 'diam in magna bibendum'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('30', '18', '1', '4', 'Nullam porttitor lacus at turpis.', 'sed nisl nunc rhoncus dui'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('31', '29', '4', '1', 'Nulla justo. Aliquam quis turpis eget elit sodales scelerisque.', 'ante vivamus tortor'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('32', '2', '5', '4', 'Suspendisse ornare consequat lectus. In est risus, auctor sed, tristique in, tempus sit amet, sem. Fusce consequat.', 'maecenas tincidunt lacus'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('33', '44', '4', '5', 'Proin interdum mauris non ligula pellentesque ultrices. Phasellus id sapien in sapien iaculis congue.', 'porttitor pede justo'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('34', '13', '2', '4', 'In blandit ultrices enim. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin interdum mauris non ligula pellentesque ultrices. Phasellus id sapien in sapien iaculis congue. Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl.', 'pede posuere nonummy'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('35', '9', '3', '2', 'Vestibulum rutrum rutrum neque. Aenean auctor gravida sem.', 'rutrum nulla nunc'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('36', '15', '4', '5', 'Nulla facilisi. Cras non velit nec nisi vulputate nonummy. Maecenas tincidunt lacus at velit. Vivamus vel nulla eget eros elementum pellentesque. Quisque porta volutpat erat.', 'nisl nunc nisl'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('37', '39', '3', '5', 'In eleifend quam a odio. In hac habitasse platea dictumst. Maecenas ut massa quis augue luctus tincidunt.', 'aliquet massa id lobortis'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('38', '12', '5', '1', 'Cras non velit nec nisi vulputate nonummy. Maecenas tincidunt lacus at velit. Vivamus vel nulla eget eros elementum pellentesque.', 'posuere felis sed lacus morbi'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('39', '36', '4', '2', 'Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi. Integer ac neque. Duis bibendum. Morbi non quam nec dui luctus rutrum. Nulla tellus.', 'nulla ac enim in tempor'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('40', '34', '5', '4', 'Quisque porta volutpat erat. Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla.', 'platea dictumst maecenas'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('41', '11', '2', '5', 'Proin interdum mauris non ligula pellentesque ultrices. Phasellus id sapien in sapien iaculis congue. Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl.', 'id justo sit amet sapien'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('42', '21', '1', '1', 'Morbi a ipsum.', 'morbi porttitor lorem'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('43', '4', '3', '4', 'Nam dui.', 'in hac habitasse platea dictumst'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('44', '50', '4', '3', 'Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci. Nullam molestie nibh in lectus. Pellentesque at nulla. Suspendisse potenti.', 'id sapien in'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('45', '33', '2', '2', 'Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros. Vestibulum ac est lacinia nisi venenatis tristique. Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue.', 'erat tortor sollicitudin'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('46', '15', '3', '2', 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin interdum mauris non ligula pellentesque ultrices. Phasellus id sapien in sapien iaculis congue.', 'volutpat sapien arcu sed augue'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('47', '13', '5', '3', 'Integer tincidunt ante vel ipsum.', 'nulla tempus vivamus in'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('48', '11', '2', '3', 'Quisque id justo sit amet sapien dignissim vestibulum. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla dapibus dolor vel est. Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros.', 'sodales scelerisque mauris sit amet'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('49', '16', '3', '3', 'In hac habitasse platea dictumst. Aliquam augue quam, sollicitudin vitae, consectetuer eget, rutrum at, lorem. Integer tincidunt ante vel ipsum. Praesent blandit lacinia erat.', 'lacinia erat vestibulum'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('50', '8', '4', '5', 'Nulla tellus.', 'aliquet massa id lobortis'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('51', '45', '5', '3', 'Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo. Maecenas pulvinar lobortis est. Phasellus sit amet erat.', 'cubilia curae donec pharetra'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('52', '37', '1', '2', 'Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus. Suspendisse potenti.', 'massa id nisl'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('53', '46', '4', '1', 'Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh. Quisque id justo sit amet sapien dignissim vestibulum. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla dapibus dolor vel est. Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros. Vestibulum ac est lacinia nisi venenatis tristique.', 'aenean lectus pellentesque eget'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('54', '38', '1', '3', 'Mauris sit amet eros. Suspendisse accumsan tortor quis turpis. Sed ante. Vivamus tortor.', 'sapien placerat ante nulla justo'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('55', '27', '1', '3', 'Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis. Fusce posuere felis sed lacus. Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl. Nunc rhoncus dui vel sem.', 'ipsum praesent blandit'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('56', '13', '5', '4', 'Cras in purus eu magna vulputate luctus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.', 'velit id pretium iaculis'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('57', '11', '1', '1', 'In hac habitasse platea dictumst. Morbi vestibulum, velit id pretium iaculis, diam erat fermentum justo, nec condimentum neque sapien placerat ante.', 'at nulla suspendisse potenti cras'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('58', '11', '4', '3', 'Integer a nibh. In quis justo. Maecenas rhoncus aliquam lacus.', 'tortor risus dapibus augue'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('59', '11', '2', '4', 'Curabitur in libero ut massa volutpat convallis. Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo.', 'non sodales sed tincidunt eu'); +INSERT INTO tomasCustomerReviewsMOCK_DATA (`review_id`, `user_id`, `laundromat_id`, `rating`, `text`, `title`) VALUES ('60', '41', '4', '5', 'Nunc nisl. Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa.', 'consequat metus sapien'); \ No newline at end of file diff --git a/database-files/mock data for tomas/tomasOrdersMOCK_DATA.sql b/database-files/mock data for tomas/tomasOrdersMOCK_DATA.sql new file mode 100644 index 0000000000..a6ca3da06a --- /dev/null +++ b/database-files/mock data for tomas/tomasOrdersMOCK_DATA.sql @@ -0,0 +1,35 @@ +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('1', '8', '3', '3/21/2025', '1/17/2025', 'Shekel', 'ante'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('2', '34', '4', '3/16/2025', '5/16/2024', 'Krona', 'magna'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('3', '15', '4', '6/18/2024', '4/27/2025', 'Zloty', 'diam'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('4', '13', '3', '9/8/2024', '8/25/2024', 'Yuan Renminbi', 'nulla'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('5', '31', '4', '5/28/2024', '7/4/2024', 'Franc', 'a'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('6', '3', '4', '9/28/2024', '8/6/2024', 'Ruble', 'vestibulum'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('7', '35', '3', '2/6/2025', '7/21/2024', 'Yen', 'posuere'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('8', '4', '5', '4/9/2025', '10/22/2024', 'Koruna', 'gravida'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('9', '29', '1', '9/1/2024', '12/13/2024', 'Ariary', 'porttitor'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('10', '30', '1', '8/9/2024', '9/29/2024', 'Peso', 'turpis'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('11', '12', '5', '12/2/2024', '5/30/2024', 'Lev', 'consequat'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('12', '46', '1', '11/22/2024', '1/16/2025', 'Peso', 'sed'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('13', '24', '2', '3/24/2025', '4/2/2025', 'Sol', 'ante'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('14', '8', '1', '1/18/2025', '10/2/2024', 'Naira', 'nam'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('15', '15', '5', '3/24/2025', '5/22/2024', 'Rupiah', 'rutrum'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('16', '37', '5', '2/5/2025', '6/24/2024', 'Balboa', 'sapien'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('17', '2', '2', '3/12/2025', '11/14/2024', 'Rupiah', 'aliquam'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('18', '25', '3', '12/2/2024', '8/31/2024', 'Yuan Renminbi', 'amet'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('19', '16', '1', '7/18/2024', '12/10/2024', 'Real', 'erat'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('20', '41', '2', '4/28/2024', '4/1/2025', 'Franc', 'pellentesque'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('21', '32', '2', '2/26/2025', '5/13/2024', 'Yuan Renminbi', 'aliquam'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('22', '19', '1', '5/1/2024', '11/10/2024', 'Afghani', 'nullam'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('23', '45', '4', '7/9/2024', '9/15/2024', 'Yuan Renminbi', 'magna'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('24', '28', '5', '2/25/2025', '7/6/2024', 'Rupiah', 'eget'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('25', '35', '3', '3/26/2025', '10/9/2024', 'Pound', 'vestibulum'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('26', '20', '2', '10/2/2024', '12/29/2024', 'Rupiah', 'auctor'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('27', '6', '5', '6/5/2024', '7/12/2024', 'Sol', 'non'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('28', '47', '3', '5/8/2024', '1/12/2025', 'Bolivar', 'vivamus'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('29', '25', '3', '12/3/2024', '1/27/2025', 'Zloty', 'justo'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('30', '43', '3', '2/24/2025', '1/1/2025', 'Marka', 'metus'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('31', '38', '5', '7/11/2024', '11/27/2024', 'Shilling', 'integer'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('32', '45', '5', '5/29/2024', '7/1/2024', 'Yuan Renminbi', 'sed'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('33', '17', '1', '1/10/2025', '1/18/2025', 'Ruble', 'cursus'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('34', '3', '4', '10/13/2024', '9/29/2024', 'Euro', 'pede'); +INSERT INTO tomasOrdersMOCK_DATA (`order_id`, `user_id`, `laundromat_id`, `pickup_time`, `delivery_time`, `total_cost`, `promo_code`) VALUES ('35', '16', '3', '10/30/2024', '3/20/2025', 'Dollar', 'tristique'); \ No newline at end of file diff --git a/database-files/00_northwind.sql b/database-files/samples/00_northwind.sql similarity index 100% rename from database-files/00_northwind.sql rename to database-files/samples/00_northwind.sql diff --git a/database-files/01_northwind-default-current-timestamp.sql b/database-files/samples/01_northwind-default-current-timestamp.sql similarity index 100% rename from database-files/01_northwind-default-current-timestamp.sql rename to database-files/samples/01_northwind-default-current-timestamp.sql diff --git a/database-files/02_northwind-data.sql b/database-files/samples/02_northwind-data.sql similarity index 100% rename from database-files/02_northwind-data.sql rename to database-files/samples/02_northwind-data.sql diff --git a/database-files/03_add_to_northwind.sql b/database-files/samples/03_add_to_northwind.sql similarity index 100% rename from database-files/03_add_to_northwind.sql rename to database-files/samples/03_add_to_northwind.sql diff --git a/database-files/README.md b/database-files/samples/README.md similarity index 100% rename from database-files/README.md rename to database-files/samples/README.md diff --git a/database-files/classicModels.sql b/database-files/samples/classicModels.sql similarity index 100% rename from database-files/classicModels.sql rename to database-files/samples/classicModels.sql diff --git a/database-files/ngo_db.sql b/database-files/samples/ngo_db.sql similarity index 100% rename from database-files/ngo_db.sql rename to database-files/samples/ngo_db.sql diff --git a/docker-compose.yaml b/docker-compose.yaml index 28e4a58571..ac56cc4b0b 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,3 +1,5 @@ +version: "3.8" + services: app: build: ./app @@ -14,6 +16,12 @@ services: volumes: ["./api:/apicode"] ports: - 4000:4000 + env_file: + - ./api/.env + depends_on: + - db + networks: + - internal db: env_file: @@ -25,3 +33,10 @@ services: - ./database-files:/docker-entrypoint-initdb.d/:ro ports: - 3200:3306 + networks: + - internal + +networks: + internal: + driver: bridge + diff --git a/flask_route_damian.py b/flask_route_damian.py new file mode 100644 index 0000000000..9238088845 --- /dev/null +++ b/flask_route_damian.py @@ -0,0 +1,53 @@ +from flask import request, jsonify +from app import app, db +from models import Orders, OrderDetails + +@app.route('/orders//pickup_time', methods=['POST']) +def update_pickup_time(order_id): + new_time = request.json.get('pickup_time') + order = Orders.query.get(order_id) + order.pickup_time = new_time + db.session.commit() + return jsonify({'message': 'Pickup time updated'}) + +@app.route('/orders//delivery_time', methods=['POST']) +def update_delivery_time(order_id): + new_time = request.json.get('delivery_time') + order = Orders.query.get(order_id) + order.delivery_time = new_time + db.session.commit() + return jsonify({'message': 'Delivery time updated'}) + +@app.route('/orders//delivery_location', methods=['POST']) +def update_delivery_location(order_id): + new_location = request.json.get('delivery_location') + order = Orders.query.get(order_id) + order.delivery_location = new_location + db.session.commit() + return jsonify({'message': 'Deliery location updated'}) + +@app.route('/OrderDetails/', methods=['GET']) +def get_order_details(order_id): + details = OrderDetails.query.filter_by(order_id=order_id).all() + return jsonify([d.serialize() for d in details]) + +@app.route('/Orders//cost', methods=['PUT']) +def update_total_cost(order_id): + new_cost = request.json.get('total_cost') + order = Orders.query.get(order_id) + order.total_cost = new_cost + db.session.commit() + return jsonify({'message': 'Order cost updated'}) + +@app.route('/Orders//', methods=['GET']) +def get_order_status(order_id, status): + order = Orders.query.get(order_id) + if order.status == status: + return jsonify({'order_id': order_id, 'status': 'Completed' if status else 'Pending'}) + return jsonify({'message': 'Status mismatch'}), 404 + +def serialize(self): + return {column.name: getattr(self, column.name) for column in self.__table__.columns} + + + diff --git a/laundromats.csv b/laundromats.csv new file mode 100644 index 0000000000..fa93c56cc8 --- /dev/null +++ b/laundromats.csv @@ -0,0 +1,41 @@ +laundromat_id,location,pricing,avg_rating,delivery_fee,coupon_rev,num_orders +63114632,17th Floor,14.99,3,29.99,$45.47 ,91 +62202163,Apt 252,2.49,4,12.99,$0.87 ,39 +81311666,3rd Floor,24.99,3,5.99,$25.35 ,90 +67016354,Suite 43,29.99,5,3.49,$29.00 ,30 +82908748,Room 1677,34.99,3,19.99,$23.34 ,97 +125108939,Apt 1722,3.29,4,14.99,$30.95 ,96 +21302978,Room 689,3.99,3,29.99,$26.47 ,39 +84309426,Suite 47,2.99,4,1.79,$8.80 ,94 +75918305,Room 1751,24.99,2,2.49,$34.91 ,12 +91905525,Suite 79,69.99,4,49.99,$41.84 ,30 +82907888,PO Box 72032,12.99,5,199.99,$40.65 ,63 +72401682,PO Box 56033,3.99,5,14.99,$1.83 ,76 +51503394,Room 379,39.99,2,7.99,$35.96 ,2 +21202609,13th Floor,39.99,1,59.99,$35.51 ,78 +111104743,Room 1603,6.49,5,129.99,$33.26 ,69 +67014343,5th Floor,3.99,1,18.99,$40.77 ,11 +11401148,Room 712,1.39,2,4.79,$24.75 ,80 +111924800,Suite 49,6.99,4,34.99,$48.06 ,47 +71114491,Suite 12,4.99,5,4.99,$18.26 ,61 +104901034,Apt 1977,14.99,1,2.49,$12.20 ,26 +113116292,Room 387,1.99,5,2.99,$43.28 ,56 +31100225,Apt 911,5.29,5,22.99,$25.46 ,53 +111304093,PO Box 65795,129.99,4,5.49,$11.87 ,53 +71000343,Suite 23,39.99,3,1.99,$15.99 ,44 +81503490,Room 1592,2.99,5,39.99,$10.85 ,69 +83903085,Suite 77,3.29,5,5.49,$26.22 ,52 +41213814,8th Floor,9.99,4,59.99,$2.42 ,72 +104111769,6th Floor,2.69,2,4.29,$41.74 ,2 +314972439,Room 1707,39.99,3,3.99,$2.62 ,35 +31307604,Suite 94,4.99,5,4.99,$25.40 ,19 +67092022,19th Floor,1.99,2,79.99,$25.95 ,9 +72401006,Room 553,99.99,3,4.29,$43.41 ,81 +73902274,10th Floor,2.49,2,4.49,$39.13 ,89 +92900985,Suite 81,19.99,2,49.99,$34.74 ,94 +74903308,Suite 23,18.99,5,1.29,$44.91 ,61 +21202175,PO Box 38780,8.99,5,2.69,$44.24 ,15 +53208066,Apt 195,29.99,1,5.49,$17.47 ,75 +11301646,Room 1539,3.29,4,69.99,$30.68 ,5 +113014077,Apt 863,39.99,3,24.99,$33.22 ,87 +102102864,PO Box 98819,29.99,2,79.99,$3.89 ,31 diff --git a/models.py b/models.py new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/models.py @@ -0,0 +1 @@ + diff --git a/test_orders.py b/test_orders.py new file mode 100644 index 0000000000..734e2aa596 --- /dev/null +++ b/test_orders.py @@ -0,0 +1,44 @@ +import requests + +BASE = "http://localhost:4000/orders" + +def print_result(name, res): + try: + body = res.json() + except: + body = res.text + print(f"[{res.status_code}] {name}: {body}") + +# 1. Pickup Time +res = requests.post(f"{BASE}/pickup_time", json={ + "pickup_time": "2025-04-15 12:00:00" +}) +print_result("Pickup Time", res) + +# 2. Delivery Time +res = requests.post(f"{BASE}/delivery_time", json={ + "order_id": 1, + "delivery_time": "2025-04-15 15:00:00" +}) +print_result("Delivery Time", res) + +# 3. Delivery Location +res = requests.post(f"{BASE}/delivery_location", json={ + "order_id": 1, + "delivery_location": "Damian's Ski House" +}) +print_result("Delivery Location", res) + +# 4. Order Details +res = requests.get(f"{BASE}/orderdetails/1") +print_result("Order Details", res) + +# 5. Update Cost +res = requests.put(f"{BASE}/1/update_cost", json={ + "total_cost": 29.99 +}) +print_result("Update Cost", res) + +# 6. Order Status +res = requests.get(f"{BASE}/1/status") +print_result("Order Status", res)