- Matthew Malvini (@MMalvini1999)
- Mitchell Sayer (@mitchellsayer) - Team Lead
- Zander Gay (@jedi-dude-101)
- Muhammad Aleem (@fawad07)
Welcome to Rojas Depot! Home to all of your online shopping needs. We are a team of Software and Computer Engineering students who wanted to design a reliable and user-friendly web application. What does this web application pertain to? We're glad you asked! For years, companies such as Home Depot, Walmart, Target, and Lowe's have made a profit promoting their goods through online shopping. We felt it in our best interests to capitalize on this trendy form of consumerism. Rojas Depot is home to a wide variety of products for our shoppers to choose from: food, clothing, toys, etc. At Rojas Depot, 100% customer satisfaction is our goal!
The following packages are required in order for our application to work:
- flask
- flask-login
- flask-sqlalchemy
- re (regular expression)
- os
- random
- datetime
- string
We used Python with Flask and flask-SQLAlchemy. This was coupled with bootstrap, css, and html documents to make a webpage that can be downloaded from github and run using python3 run.py in a computer terminal that has python installed. Once Run in this way the website can be accessed from any web browser such as firefox or google chrome and typing "localhost:5000" into the address bar.
To Run our site, run the following command from the project root:
python3 run.py
Before the initial shopping commences, each visitor to our website must create an account. Each account contains an individual's email along with a password; pretty standard for all shopping services! Once our database has stored the new user's information, they are allowed to explore our products. If someone is a returning user, they are prompted to login with their credentials before being admitted. The first page everyone is directed to it the "Home" page. Here, our welcome message appears! At the top left corner of Rojas Depot, there is a list of tabs. Right next to the "Home" tab is our "Listings" tab. Here, users can see what items are currently offered at Rojas Depot. Users can search for listings if they know the exact title of it or they can sort listings by price by selecting the dropdown and checking a box and clicking "apply filters". Only items which are in stock are shown to the user. Next to the "Listings" tab is the "New Listing" tab. As a bonus, each user who signs up with our website is allowed to sell their own merchandise. This helps broaden our reach to a wide array of customers! A user simply adds their item's image along with a "Quantity", "Price", and "Item Description". From there on, this item is displayed for other users to see. When it comes to purchasing, a user clicks on an item which interests them. Once they have selected the "Quantity" of the item, our website tabulates the total cost (including tax) to show the "Payment Due". We accept credit cards and debit cards as methods of payment. Once a customer's billing information has been entered, it will be checked to be a real credit or debit card. Next, a confirmation email gets sent to them. On the right hand side of Rojas Depot's site is a few more tabs. First, we have the "Log Out" page. If a user is done accessing our website, they simply click on this tab to sign them out of the application. Next to this tab is by far our most accomodating feature, the "Profile" tab. Here, the user's purchase history can be viewed. The users name is proudly displayed along with their profile picture. At Rojas Depot, we value the satisfication of our customers. But, if a user wishes to no longer be recognized by our databse, the "Profile" page has a "delete" button.
- User signup/login prompt, which requires ALL customers to be registered before accessing website
- Hashing of User's entered password to provide data integrity, confidentiality, and security
- User delete account option, which removes all records of a former customer
- Home page, which welcomes each customer to Rojas Depot
- New Listing option, which allows anyone registered to post an item listing
- Listing option, which provides all items offered by Rojas Depot
In order to have a robost sytem capable of storing multiple users, we relied on the tool SQLAlchemy. Because this application runs on Python, our classes and functions easily got converted into tables and SQL statements. To ensure our website was aethetically pleasing, we felt the need to implement Bootstrap. With such a wide array of templates, colors, and fonts, this allowed us to add creative flare to each web page. During the initial phases of our project, we relied on Ubuntu to implement our Python files. However, this strategy proved to be quite frustrating, especially when it came to pushing commits onto GitHub. Thus, we switched over to Visual Studios Code as our IDE. Utilizing this software made it quite easy to add, commit, push, and pull requests from each others coding elements. Visual Studios Code was used in conjunction with GitHub. This application made it easy for each team member to view changes made to our branches, files, etc. Overall, we had a solid setup that made it easier for each team member to contribute to this project.
bootstrap and other tutorial web pages
- https://getbootstrap.com/docs/4.0/components/forms/
- https://getbootstrap.com/docs/4.0/layout/grid/
- https://getbootstrap.com/docs/4.0/utilities/spacing/
- https://www.w3schools.com/python/python_regex.asp
youtube tutorials