This is my personal portfolio website build with GatsbyJS and a small ExpressJS server.
- React 16.x
- Gatsby framework
- PWA (desktop & mobile)
- Functional components with Recompose React Hooks
- Frontend design by @smakosh
- Amazing illustrations by Undraw.co
- Express as backend framework
- Socket.IO intergration (realtime online users counter & notifications)
- Simple authentication system with PassportJS
- Contact form with Google reCAPTCHA
- The easiest way to get started is to clone the repository
- Change in the root the config.js file.
- Create a new file named config.js in the server folder and add the following content and adjust it:
/*
* Webserver PORT
*/
const PORT = 3005;
/*
* Email settings
*/
const EMAIL = 'your@email.com';
const EMAIL_PASSWORD = 'your-mail-password';
/*
* Session settings
*/
const SESSION_SECRET = 'Zsjfkrkwujskcfjskw&m';
/*
* SSL / HTTPS settings
* ------------------------
* if HTTPS is true, the privateKey_path, certificate_path and ca_path MUST be correctly located.
*
* privateKey_path is the path where the privkey.pem file is located
* certificate_path is the path where the cert.pem file is located
* ca_path is the path where the chain.pem file is located
*/
const isHTTPS = true;
const privateKey_path = 'PATH_TO_THIS_FILE/privkey.pem';
const certificate_path = 'PATH_TO_THIS_FILE/cert.pem';
const ca_path = 'PATH_TO_THIS_FILE/chain.pem';
module.exports = {EMAIL, EMAIL_PASSWORD, PORT, SESSION_SECRET, isHTTPS, privateKey_path, certificate_path, ca_path};
- Install NPM dependencies in the root folder and in the server folder:
npm install
- Then simply start the server in the server folder by doing:
node server.js
- Finally you start the app in the root folder by doing:
gatsby develop