Coder Social home page Coder Social logo

brendoncaulkins / xpert-planner Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 0.0 2.25 MB

An Angular App to help plan your personal path to becoming an Xpert!

Home Page: https://xpert-planner.web.app/

JavaScript 1.37% TypeScript 87.38% HTML 10.02% CSS 1.22%

xpert-planner's Introduction

Xpert Planner

Plan your future and track your success!

Status

Build Status Code Coverage
CircleCI Coverage Status

About

This application is meant to aid Xperts and Xpert candidates in planning their Xpertship and tracking their progress. It currently focuses on analysis of the plan itself, rather than being fully-featured.

The Xpertship program weighs tasks via assigning them points, as a metric for the various contributions to the community, to Excella, and others you work with.

Xpert Plan

The Xpert Plan has two views: Displa mode and Edit Mode (toggled via the slide-toggle in the upper right corner).

Display Mode

Until additional work is done and exporting as a PDF is possible, the Display View for your plan is likely the best way to view all the items you've entered into the system.

The plan is split into two in this view: Completed on top, and Forecasted below.

Edit Mode

Edit mode prefers breaking up the plan by task category. The categories are each given an accordian section, so you can focus on one category at a time, if you wish.

Adding a task

  1. Select a "Base Item" using the drop-down. These are examples of some tasks from this category, and will auto-populate the points field with the initial point value for that "base item".
  2. Enter a description. This should briefly describe the task or accomplishment.
  3. Adjust the poiint value. Working with your supervisor, set the number of points for the task.
  4. Save the plan by clicking on the "Save" button at the bottom of the page.

Completing a task

  1. Find the task to be completed by opening the accordion.
  2. Check the "Done" checkbox.
  3. Enter the date the task was completed in the newly added date field.
  4. Save the plan by clicking on the "Save" button at the bottom of the page.

Overview

The overview page has four analyses of the plan:

  • All Plan Contributions by Category - Breaks down all (completed and uncompleted) tasks by category, as a way to understand how well-rounded your overall plan is.
  • Earned Plan Contributions by Category - Breaks down just the completed tasks by category, in order to understand what categories might be best to work on next (ie, ones that are under-represented)
  • Plan Contributions by Month - Shows completed points by month, over the past year. This shows peaks and gaps as work is done and completed. Keeping this even shows stability and sustainability with the way you work. If there are many spikes and empty columns, consider finding ways to even out your work-load, or break it up into smaller pieces.
  • Completions & Plan Forecasts - Shows the ratio of points completed vs points planned. This can show progress through a large chunk of work, or if the forecasted points are low, that you have accomplished quite a lot and should spend some time thinking about what's next!

Import/Export Plan

These tabs allow you to save/load your pla from a file. Currently, .csv and .json are supported. The plan is not saved inside the application, so be sure to export once you are done making any changes!

Contributing

If you'd like to contribute to the project, please read the Contributing guidelines, here.

xpert-planner's People

Contributors

brendoncaulkins avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

xpert-planner's Issues

Feature Request: Registration Page

As a new user, I want to be able to register with my email address, so I do not have to wait on the owner to add me in order to use the application.

Plan Contributions by Month displays all points as Content Creation

I don't have any Content Creation points for the last 6 months but all points during that month are displayed with the Pink color.

What Happening:
All points are being displayed with the Content Creation color coordination.

What I expect to Happen:
All plan points should be displayed and according to their respective color

Display build/version

As a developer, I want to see the currently deployed app version in the app, so I know which version is deployed at a given time.

Bonus Points:

  • Pull version number from package.json
  • Find/add an NPM package to automatically bump the app version # in package.json

Implement CI

BLOCKED: By not yet being a public repo with branch protections

  • Integrate with CircleCI for automated build & test
  • Add CircleCI Repo Badge

"Unsaved plan changes" modal overwrites plan state completely.

What Happened:
I clicked on Export Plan in the navigation menu before saving some plan changes.
I received a modal asking if I wanted to save the unsaved plan changes before exporting.
I clicked "Accept"
I return to My Xpert Plan to see that my original plan has been erased and only a a handful of items remain (which I assume were the unsaved changes)

What I expected to happen:
Clicking on "Accept" in the alert modal merges the unsaved changes into existing plan state.

Screen Shot 2020-06-09 at 10 24 39 PM

Separate repo for Excella static IP

As Dane recommended in our call, the idea is to setup a separate private repo to store protected IP such as the Xpert candidacy line item options. This will allow us to manage the items securely without the immediate need to build a management interface and DB for them.

Related to #34 and #44

Support Firebase deploys

BLOCKED: By #4 - We don't want CD until we have CI setup

  • Deploy app via Firebase
  • Verify Firebase connections while Deployed

Update Documentation

  • Fix typo on Xpert Plan section (displa -> display)
  • Shore up documentation in code, or via .md files embedded in the repo

Better Secrets management, CD

Storing the Firebase Secrets in the environments file is dumb, and prone to accidentally exposing creds on a push to GitHub. Let's do something better (.env files).

This should also be something that enables Continueous Deployment (CD) via CircleCI

Secrets to migrate / manage:

  • Static Data (Categories, Base Items via Firebase Functions)
  • Firebase Config

Update Branding / Colors / Header

  • Add Excella Logo
  • Change to Excella Color (purple to black)
  • Update App name in header to "Xpert Planner"
  • Update App name tab title to "Xpert Planner"
  • Display user's email in header bar

Feature Request: Start new plan without uploading a csv

As a new user, I want to start a new Xpert plan in the application without having to upload a CSV to start so that I can export my new plan when I exit the app.

  • Currently the plan interface does allow me to switch in to edit mode and edit the initial line but obviously wont isn't able to save.

UX Updates

  • After registration, drop user in /planner/plan
  • Start with the accordions expanded

Unsaved Data Guard tries to save when form is invalid

Steps to reproduce:

  1. Open a plan for editing
  2. Add an item and choose a Base Item
  3. Attempt to leave the page
  4. Choose 'Accept' on the model, note the error in the console, and incorrect behavior of saving an invalid plan

Update Automated Tests

  • Remove interdependencies (HttpClientTestingModule)
  • Increase test coverage (90%+)
  • Add Test Coverage badge (Coveralls?)

Add Auth via Firebase

  • Install @angular/fire
  • Move to feature module
  • Login Page
  • Logout Page
  • Add Auth Guard
  • Integrate with Firebase
  • Serve Firebase keys / URL via ENV file

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.