/bagel-shop

A breakfast request web app that enforced account validation via OTP

Primary LanguageHTMLMIT LicenseMIT

Bagel Shop

Logo

Created by: ABE

picture here

Video Demo: https://youtu.be/upUSN8B-Ohc

Description

Breakfast Roster

A simple secure web app for groups to submit food orders. Featuring OTP email confirmation.

Local Installation

Clone Project:

git clone git@github.com:abe-101/bagel-shop.git

install dependency's :

pip install cs50
pip install Flask
pip install Flask-Session
pip install psycopg2-binary
pip install requests
pip install Flask-mail
pip install requests
pip install markdown
pip install pygments

Database

For this project we use Postgresql from Heroku. You will need to retreive a secret URI by navigating to the Heroku dashboard Heroku app -> Heroku Postgresql -> Settings -> View Credentials

copy the URI

export DATABASE_URL=URI

replace URI with you db URI

Flask Mail

You will need to export your username password and sender email:

export MAIL_DEFAULT_SENDER=bagel.shop.app@gmail.com
export MAIL_PASSWORD=YOUR SECRET PASSWORD HERE
export MAIL_USERNAME=bagel.shop.app

Flask

Start flask:

flask run

Usage

  • Password protected login
  • Email confirmation with OTP
  • Verification - Prevents malicious login attempts
  • Select daily menu
  • Email bagel shop
  • Request breakfast selection via email

Configuration

This block of text should explain how to configure your application:

Detail heroku set up

Information

Screenshots of your application below:

Screenshot 1

Screenshot 2

Known Issues

If you discover any bugs, feel free to create an issue on GitHub fork and send us a pull request.

Issues List.

Authors

Credits

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

License

Your Licensing Information goes here. Example: MIT/X11.

Road Map

New Technologies

  • Flask-APScheduler
  • Flask-mail
  • Flask-Markdown
  • OTP Email verification

Web Framework (Flask | Gunicorn)

  • Login
  • Logout
  • Register
  • index (users choice & update option
  • selection POST (update users choice)
  • Flask email (resister confirmation | daily menu)
    • OTP email verification
    • Weakly email to bagel shop
    • Email me button
  • Flask-APScheduler (trigger daily menu email)
  • Render this README as about page
  • OTP email verification

Front-end (HTML | CSS | JS | Bootstrap)

  • login.html
  • Logout.html
  • Register.html
  • Index.html
    • Table display of weekly Selection
    • Change selection (bagel type button | filling drop down menu)
  • Favicon (thank you toastytortilla)

Database (Postgresql)

  • User table with selection
  • Menu table
  • Email confirmation column (OTP)

Deployment (Github | Heroku | Cloudflare)

  • Github
  • Connect Github to Heroku
  • Auto deployment
  • Configure domain (Cloudflare)

README

  • Name
  • Local Setup
  • Known Issues
  • Authors
  • Contributing
  • License
  • Road Map