Skip to content

A Python 3 web application built using Flask to serve my portfolio.

Notifications You must be signed in to change notification settings

JedS6391/portfolio-jed-simson

Repository files navigation

Portfolio

About

A Python 3 web application, built using Flask to serve my portfolio.

The deployed application can be viewed here.

Features

  • Landing page
  • About section
  • Project feed
  • Blog
  • Contact form

Stack

App

Deployment

Development

Follow the instructions below to get started with the app in a local development environment.

Prerequisites

Running

The app can be run via docker with the following commands:

# Build image
docker build -t portfolio-jed-simson .
 
# Run in container
docker run --env-file=.env -p=8000:5000 portfolio-jed-simson

Note that an environment file will need to be provided to define the environment variables required by the app. The full list of variables is listed below.

Name Description Required
APP_SETTINGS Defines the configuration the app should run with. Supported values are config.DevelopmentConfig or config.ProductionConfig.
SECRET_KEY Secret key used by some of the app libraries.
POSTS_PATH Path used to load blog posts from. Default value is static/assets/posts/.
POSTS_PER_PAGE Max number of posts to show on a blog page. Default value is 10.
PROJECT_FEED_PATH Path used to load projects in the project feed from. Default value is static/assets/projects/project_feed.json.
SENDGRID_API_KEY API key for SendGrid email integration.
SENDGRID_DEFAULT_FROM Email address used in the 'From' email field when sending messages from the contact form.
CONTACT_EMAIL Email address that messages in the contact form will be sent to.
RECAPTCHA_PUBLIC_KEY Public key used by ReCAPTCHA in the contact form.
RECAPTCHA_PRIVATE_KEY Private key used by ReCAPTCHA in the contact form.
RECAPTCHA_DATA_ATTRS Optional attributes that will be passed to the ReCAPTCHA component.
LOG_LEVEL Log level used by the app. See logging levels
SENTRY_DSN DSN for Sentry integration.
CONTENT_SECURITY_POLICY Content security policy used by the app.

About

A Python 3 web application built using Flask to serve my portfolio.

Topics

Resources

Stars

Watchers

Forks