Installation
The portfolio app is a React application, therefore it depends on having
Node.JS installed locally on your development machine. You will need
to have version 18 or later of Node.js installed.
You will need some form of web hosting. React build folders are basically just static HTML, CSS and JavaScript files so pretty much any provider will be able to host them. the CRA website has some useful information here.
Clone the repository
Either clone it somewhere locally from where you then upload the dist directory
to your web hosting provider, or clone it directly onto your hosting server.
Note that the only files which need to be available to your web hosting server
are the contents of the ./dist directory (once you have generated the bundle).
$ git clone https://github.com/seapagan/dev-portfolio-app
Yarn or NPM
The portfolio app can be built using either yarn or npm. For
preference, use yarn as the project lock file is set up for this. You can use
npm if you prefer, but you will need to delete the yarn.lock file first.
Npm comes installed with Node.js and can be used straight out of the box,
however you will need to install yarn yourself if you choose to go that way.
It is actually installed in the repo, but needs to be enabled first if not
already done:
$ corepack enable
$ yarn set version stable
Install the dependencies
From the root project directory, run yarn install (or npm install) depending
on your own personal preference.
Update the configuration
- Rename the
./src/configure/settings-template.jsfile to./src/configure/settings.js. Modify the settings, text, icons, hero image etc to your own requirements. - Add your GitHib Personal Access Token to the
VITE_GH_TOKENkey in the.envfile. This will allow the 'Open Source' section to query GitHub. Without this, that section will not work. Define your PAT on GitHub (it is account wide, not per-repository) here under Personal access tokens - Add your Google Analytics Tracking ID to the
VITE_GA_IDkey in the.envif you want to use Google Analytics to track visitors to your portfolio app.
These files are the ONLY files you should be editing! Nothing else needs changing.
See the .env file page for more information on the .env file.
Run the application locally
For local development, run yarn start (or npm start) to start the local
development server. This will open a browser window at
http://localhost:3000 and will automatically reload
when you make changes to the source code.
Build the Production bundle
From the root folder of this repository, either run yarn build or npm run build. This will create a production-ready website in the dist folder. This
dist folder is the one you need to upload to your hosting provider, with the
contents of this folder being the root to serve. Again, the React Deployment
pages have good information if you are new at this.
If you want to test the production bundle locally, you can use built in preview
server that comes with vite.
Use either yarn preview or npm run preview to start the preview server. This
will automatically open a browser window for you.
Deploy the application
Since the production bundle is just static HTML, CSS and JavaScript files, you can deploy it to any web hosting provider.
I no longer recommend deploying to GitHub pages - since your GitHub Personal Access Token is stored in the final production build, GitHub will then detect this and cancel it, hence the OpenSource section will fail. Look at Netlify or Vercel instead. Obviously, if you have your own hosting you can upload the production build and serve that as any other site.
Again, check the Create-React-App website for more information on deployment.