GithubHelp home page GithubHelp logo

portfolio's Introduction

FS Website Solutions

Fabio Sereno - Software Engineer

Highly experienced Full Stack Software Engineer with over 15 years of experience (6+ years in the FinTech sector). Self-motivated, enthusiastic, and professional team player with strong analytical and problem-solving skills. Demonstrates proficiency in coding and a proven ability to successfully complete projects with innovation and creativity.

Passionate about software development and constantly eager to learn and adopt the latest technologies. Keen interest in FinTech, HealthTech, Commerce, ML/AI, Blockchain, XR (VR/AR), and IoT.

My Portfolio Repository

The purpose of this repository is to demonstrate skills in various technologies, coding proficiency and knowledge.

To view a static version of this project with limited functionality, please visit: https://fsereno.github.io/portfolio/

To see a fully containerised version of this project deployed to AWS (Amazon Web Services) EC2, please either raise an issue on this GitHub repository or contact me via LinkedIn.

This project is both built and deployed with continuous integration and deployment (CI/CD).

Some of the technology used in this project and related projects:

Contents

Prerequisites

Installation

  • Follow these steps to install this repo locally.

Clone

  • Clone this repo to your local machine using https://github.com/fsereno/portfolio

Compose

  • Please ensure you have Docker installed and running.
  • Open your preferred command line:

Docker compose files are dynamically built, depending on command line arguments.

$ npm run compose -- <options>

Passing no arguments will result in adding all available services to the production compose file.

Alternatively, passing --mode dev, will build the development compose file.

$ npm run compose -- --mode dev

However, once again, this will include all available services in the compose file.

To include only specific services in the compose file, use the --include argument:

$ npm run compose -- --include dataStructures --mode dev
This will:
  • Compose the development version of the file.
  • Simply exclude --mode dev if building for production.
  • Include only the dataStructures service.
  • The necessary Nginx service will also be included.

Start/Stop

  • Please ensure you have Docker installed and running.
  • Open your preferred command line:
$ npm run start -- <options>

Passing no arguments will result in the production environment being started.

This will:
  • Pull all images from Docker Hub.
  • Spin up all services in containers.
  • The application will be available at: http://localhost

To stop one of the above tasks, excluding those which destroy themselves:

$ npm run stop -- <options>

Passing --name will start a particular container.

$ npm run start -- --name <application_name>
This will:
  • Start only the container for the given application.
  • The application will be available at: http://localhost

To stop a particular container:

$ npm run stop -- --name <application_name>

To start the development environment:

$ npm run start  -- --mode dev --context dataStructures
This will:
  • Start the webpack development server.
  • Start the necessary backend services.
  • Watch for any changes on dataStructures development resources.
  • Hot-reload any changes straight to the browser for the dataStructures application.
  • The default application is the root application - home.
  • Open your browser and navigate to http://localhost

Run dependency analysis on a specific application

$ npm run start -- --context dataStructures --mode analysis
This will:
  • Start the webpack analysis server.
  • Perform a dependency analysis of the dataStructures application frontend.
  • The default application is the root application - home.
  • Open your browser and navigate to http://localhost

Tasks

  • Please ensure you have Docker installed and running.
  • Open your preferred command line:

Tasks create ephemeral containers. Containers which are destroyed after a task has completed.

Build for release

$ npm run task -- --name build
This will:
  • Create an ephemeral container to run the task.
  • Build the production static assets directory (dist or docs, depending on the configuration).
  • The container is automatically destroyed after use.

Run all frontend unit tests

$ npm run task --  --name test
This will:
  • Create an ephemeral container to run the task.
  • Run all application specific and global unit tests.

Run all functional end-to-end tests

Ensure the application is already running first.

$ npm run test-apps-e2e
This will:
  • Run all functional tests from the ./app/tests/functional directory
  • Currently this feature is a work in progress (WIP) and will not work on ARM architecture

Create a new application

$ npm run task --  --name create
This will:
  • Create an ephemeral container to run the task.
  • Build applications based on the config.json file.
  • New applications are built based on the 'masterTemplateDir' property.
  • If an application already exists, nothing will be overwritten.

Licence

portfolio's People

Contributors

fsereno avatar dependabot[bot] avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.