This project attempts to make learning fun.
The application is hosted with Firebase and can be reached at https://rubber-duck-code-challenge.firebaseapp.com.
The idea is that you record anytime you learn something. This is considered an
activity has points. At the end of the week, the points are tallied and winners are determined for
Third place. Winners are encouraged to post information about what they did on the different slack channels.
Project was originally developec as a clone of my earlier project overwatch-challenge.
If you hae any other questions, please contact Andrew here
Rubber Duck image is from here.
What's with the Rubber Duck?
- Its a reference to Debugging with a Rubber Duck
prod-deploydeploys frontend and functions to Firebase
staged-commitsets environment values beofre making project commit
setup-environmentpulls in production values for development work
functions-installdoes the standard
npm installfor functions
docs-buildbuilds the project docs
docs-deploydeploys the project docs to repo's GitHub Pages site
docs-serveserves the project docs locally on
code-coverageruns unit tests with Karma and generates coverage report
prod-testruns unit tests in CI pipeline
cypress-openruns cypress binary in local
cypress-runruns cypress binary in CI
dev-cypressrun e2e testing locally
prod-cypressrun e2e testing in CI
cypress-installinstall cypress in CI container
- e2e testing is done with Cypress
- unit testing is done with Karma
- docs are available on this repo's GitHub Pages
functionscontains the Firebase functions
scriptscontains build scripts for development
postmancontains a postman collection for running with
deployedversions of the API
- application is divided by functionality
activityis components related to activity
modelsare classes used as models for data in the application
staticare any static pages (i.e. content page, etc.)
usersare specific pages that deal with user login etc.
The project uses the Firebase SDK and AngularFire2 for authentication and database services.
The project also has Firebase Functions that occur when writes are done to:
The project includes
Slack integrations for messages when:
- new users are created
- new activities are created
- high scores are tallied
The team channels available on slack are:
create-activitywhere any newly created activities are automatically posted via slack webhook
registered-userswhere any newly registered users (name only, no other info) are posted
learningteam channel for general discussion about learning activities
high-scoreswhere high scores are tallied and posted
There are links to join the slack org available inside the application once you register.
- increase unit test coverage (Karma)
- improve documentation
- refact to add more models
- refactor API to have consistent handling of promises and requests