Skip to content

Latest commit

 

History

History
254 lines (176 loc) · 7.52 KB

readme.md

File metadata and controls

254 lines (176 loc) · 7.52 KB

Contributors Forks Stargazers Issues


Logo

dw-portfolio

An interactive portfolio PWA showcasing James Douglas White's skills and experience with the latest web technologies. Visitors can explore my past projects, gaining insights into my capabilities in areas like Angular, Ionic, Firebase, and GCP. The PWA design ensures a seamless and performant experience across any device, even when offline.

View James Douglas White's Resume

View Demo · Report Bug · Request Feature
Table of Contents

Tech Stack

Getting Started

The following steps will help you get a local clone up and running

Installation

  1. Install NodeJS

  2. Clone the repo:

    git clone https://github.com/apsistec/dw-portfolio.git

  3. Install NPM packages

    npm install

  4. Using npm, install:

    npm install @angular/cli@latest --global

    npm install @ionic/cli@latest --global

    npm install firebase-tools@latest --global

    npm install @ionic/angular@latest

Acquire Accounts

  1. Get a free Firebase Account at https://firebase.com
  2. Get a free Sendgrid Account at https://app.sendgrid.com

Add PWA Features

  1. Install Angular PWA tools

    ng add @angular/pwa

  2. Install & Run Capacitor Assets tool

    npm i @capacitor/assets

Add Firebase

  1. Install Angular Firebase tools

    ng add @angular/fire

  2. Enter your Firebase API key

    environments/environment.ts & environments/environment.prod.ts

    Example:

    export const environment = {
      production: "boolean",
      firebaseConfig: {
        apiKey: "string",
        authDomain: "string",
        databaseURL: "string",
        projectId: "string",
        storageBucket: "string",
        messagingSenderId: "string",
        appId: "string",
        measurementId: "string",
      },
    };
  3. Initialize Firebase

    firebase init

    (back to top)

Build & Deploy

  1. Work on the app code with hot-reload

    ionic serve

  2. Install Sendgrid

    cd functions

    npm i @sendgrid/mail

  3. Compile the function code

    npm install

    ng build

    cd -

  4. Compile the app code -production quality

    ionic build --prod

  5. Deploy to Firebase Functions & Hosting

    firebase deploy

(back to top)

Usage

Primary functions available in app

Roadmap

  • Add Changelog
  • Add Contact Page
  • Add In App Messaging
  • Improve Visualizations
  • Add Authentication
  • Add Menu

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/Amazing Feature)
  3. Commit your Changes (git commit -m 'Add some Amazing Feature')
  4. Push to the Branch (git push origin feature/Amazing Feature)
  5. Open a Pull Request to Main

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contacts

Project Link: https://github.com/apsistec/dw-portfolio

Contributors

Douglas White

linkedin-shield

Acknowledgments

(back to top)