CodeConnoisseur74 / gloss

2 stars 1 forks source link

Gloss

Description

Live site

Device Mockups

Content

Project Goals

User Goals

Site Owner Goals

User Stories

Following user stories was implemeneted in the project:

Following user stories was not implemented and labeled as "Future Ideas"

Agile Planning

Link to the user stories project

User Stories

Features

Navbar

Fully responsive navbar with links to:

- Home page
- About page
- Register section
- Login section
- Contact Section
- Likes (If user is autenticated)

Logo hyperlinked to home page: Logo

Featured on all pages across the site.

The navbar will adapt based on whether or not the user is authenticated or non-authenticated. (When logged in Login and Register will be hidden and Logout will be displayed in the navbar.)

Navbar for non-authenticated users:

Navbar non auth Navbar for authenticated users:

Navbar auth

Purpose of feature: Provide users with an easy and straight-forward way to navigate the site

Purpose of feature: Provide users with a way to connect with Gloss Developers and check out Gloss' GitHub profile and social media accounts.

Home page

The Home page consists of:

-  Six short paragraph sections in a responsive grid, summerizing crucial information in a concise manner.
-A Register button for ease of use.

Home Page

Purpose of feature: Provide users with a welcoming landing page with concise information and a "call to action" Register button.

Register Form

Register Form

The fields the user needs to fill in is:

Additional: All of the fields are required to be filled in, if it's not the user will be prompted to fill in the field before sending. The email field needs to contain an email with @ in it to be sent.

Purpose of feature: Provide users with form in order to register for an account.

Login page

Login page

The login form allows the user to enter their credentials and authenticate to enter the sites authenticated state.

The login form also contains a link to the Register page in case the user is not already registered.

Dashboard

![Dashboard page]()

The Dashboard page consists of:

- Profile name
- Profile picture

Profile Management

Profile picture

Testing

The website has been manually tested and everything has been documented in the testing.md file.

Click here to go to: Testing and validation

Validators

All validation can be found in the testing.md file.

Click here to go to: Testing and validation

Heroku Deployment

The site was deployed to Heroku. The steps to deploy are as follows:

The app should now be deployed.

Run Locally


# Clone the project

  git clone https://github.com/CodeConnoisseur74/gloss.git

# Go to the project directory

  cd gloss

# Install dependencies

  pip3 install -r requirements.txt

# Start the server
  python3 manage.py runserver

Note that you will have to setup your own database and API connections using these steps:

  1. Create a file name "env.py" in the projects root directory.
  2. Copy and paste this code in the env.py file and replace values with your own:

import os

os.environ["AWS_ACCESS_KEY_ID"]=YOUR_AWS_ACCESS_KEY_ID
os.environ["AWS_SECRET_ACCESS_KEY"]=YOUR_AWS_SECRET_ACCESS_KEY
os.environ["AWS_STORAGE_BUCKET_NAME "]=AWS_STORAGE_BUCKET_NAME
os.environ["SECRET_KEY"]=YOUR_SECRET_KEY

Technologies

External Python Modules

Planning

Wireframes (Canva)

I created the wireframes for this site with Canva.

Wireframes for desktop Index About Contact Sign up Sign in
Wireframes for mobile Index About Contact Sign up Sign in

Database schema and Draw IO

Database schema

Flowchart

Data storing:

PostgreSQL: Database management system used.

AWS: For storing image files in the cloud.

Security

Cross-Site Request Forgery (CSRF) Protection

Django Allauth for Authentication and Authorization

Restricted Features for Authenticated Users

Credits

Media:

Other Credits: