Travis CI build of master branch:
Express-Portfolio serves my portfolio website. It includes a project gallery, a blog, and an email contact form.
See CHANGELOG.md
for version history.
npm install
Knex migration files are included to create three tables in the database: posts
, projects
, and users
. Run these with knex migrate:latest
.
A Knex seed file is included to populate the projects
table with my portfolio project data. Run this with knex seed:run
.
Currently, server.js
is set up to use Gmail to send mail using Nodemailer. To create your own instance of this app, you would need to add your Gmail account and an application-specific password to the environment:
export [email protected]
export GMAIL_PASS=YourGoogleAppSpecificPassword
Read more about using Gmail with Nodemailer on the offical site, and see my blog post on the topic for more info.
You can alternatively place the GMAIL_USER
and GMAIL_PASS
variables in a .env
file, as detailed below.
The included .env.example
file can be used to create a .env
file to hold environment variables in an easily accessible place in the project directory.
server.js
contains a reference to an environment variable that can be used to hold a Google Analytics tracking ID, which gets used in the views/partials/_head.ejs
partial:
export GA_TRACKING_ID=YourGoogleAnalyticsTrackingID
The route file routes/resume.js
contains a reference to the environment variable RESUME_LINK
, which can be set in your .env
file to create a short, easily-remembered link to an external resume file.
The included Knex migration files are used for creating tables of blog posts
and portfolio projects
in a Postgres database. These variables in the .env
file can be used to configure your database:
DB_HOST=
DB_USER=
DB_PASS=
DB_NAME=
DB_SSL=
DB_PORT=
npm test
will run StandardJS linting (failing and exiting if there any errors) followed by Mocha/SuperTest unit and integration tests.
npm start
to run on port 3000.
.env
file into process.env
Tyler Krys made this.