brianlusina.github.io

Fenestra

Commitizen friendly semantic-release Tests codecov Lint Build

Personal site built with ReactJS.

Why document and open source my site?

Part of the belief that OSS is the future and also fosters a community of developers, on top of which not only allows growth, but learnings. And with any OSS, it is important that a document is created to allow contributors to jump on board easily.

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Clone the repository:

# if using ssh
git clone git@github.com:BrianLusina/brianlusina.github.io.git
# or if using https
git clone https://github.com/BrianLusina/brianlusina.github.io.git

Prerequisites

A couple of things you will need to install in order to run this project:

  1. Node and NPM

    Node is a JavaScript Runtime Environment. Installation instructions can be found in the link provided. By installing Node, you will also be installing npm. Node version used is 10.x

  2. Yarn - (Optional)

    Yarn is an alternative package manager to npm. It is not necessary to use, but, if you prefer using yarn, then follow the instructions set out in the download section of the link provided. It is advised, that one package manager is picked due to how differently the dependency graph is managed by both.

Installing

Installing dependencies is straight forward:

npm install
# or
yarn install

This should set you up to install the dependencies as needed and get you running.

Running tests

Tests have been written with Jest. Running the tests can be done as follows:

yarn test
# or
npm run test

To generate a coverate report:

yarn test:coverage
# or
npm run test:coverage

Deployment

Deployment has been configured to work on any system or static server as necessary. Therefore deployment can be to either a microservice application with this running in its own container, or to a static site or to even github pages.

The pipeline set here is to deploy this to a seperate static server when in development in order to do testing and to github pages when finally moving to production. Ideally,this being a blog site which primarily serves static content, that should not matter where it is deployed, as long as it is accessible and can handle incoming traffic.

Tools used for deployment:

Built With

  1. JavaScript Language - Programming language
  2. TypeScript - Programming language
  3. ReactJS - JavaScript library for building declarative UI.

Versioning

SemVer is used for versioning. For the versions available, see the tags on this repository.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements

A hat tip to Unsplash for images and Html5Up for themes.