Skip to content

CarolinaCobo/shopping-list

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

project-23

The app will let user log in using Google Authentication, add items and delete individual items and all at once.

Video of the app in the following link

Table of contents

1.UX

2.Features

3.Technologies used

4.Testing

5.Deployment

6.Credits

User Experience

User stories

  • As a user I want to log in using my Google Account.
  • As a user I want to be able to add items to my list.
  • As a user I want to delete individual items.
  • As a user I want to delete all items at once.

Styling

Colours

Using Colorhunt.co I chose a simple palette with simple colours for an easy site navigation:

  • #F3C409 #413B88 - Navbar and add items button.
  • ecda92 #ecda92 - Hoover buttons.
  • Tomato for Delete items and delete all.

Fonts

Favicon

One of the emojis available on Favicon.io

2. Features

Operations

The user can create, read and delete content in the page.

Create

  • Users can sign up and create an account.
  • Users can add elements to the list.

Read

  • Users can access to their list once they are logged in.

Delete

  • Users can delete single items.
  • Users can delete all items at once.

Database design

users collection

Field Description Collection Key Data type
Unique ID _id ObjectId
User ID user_id String
First name fname String

Objects inside the list array:

Field Description Collection Key Data type
Unique ID _id ObjectId
List value String

Here a screenshot of the collection in the database: example database

h1> 3. Technologies Used

Languages

  • Python3 - Used to create the main application functionality
  • HTML5 - to build the structure of this site.
  • CSS3 - to style the page, and fix media queries and the max width.

Libraries

  • Flask - Python web framework
  • PyMongo - PyMongo is a Python tool for working with MongoDB.
  • Flask-Pymongo - Flask-PyMongo bridges the gap between Flask and PyMongo.
  • Google OAuth 2.0 - To access Google APIs and retrieve the users information when they log in.
  • Jinja - Template language for Python.

Programs and Tools

  • VSCode - used as IDE for the project.
  • Git - used for version control.
  • Github - used to host repository and to generate the live website.
  • Google Fonts - used for fonts on the site.
  • Chrome Developer Tools - used to test and optimize the site.
  • randomkeygen.com - Random secure password & keygen generator used to create the Flask SECRET_KEY.

4. Testing

The app has been manually tested only on the server. Responsiveness tested as well using Google Chrome Developer tools.

5. Deployment

As I'm waiting for my Google payment account to be confirmed I haven't deployed it yet.

7. Acknowledgements

The main functionality of my site has been found in:

Also:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors