A screenshot of the Thankscrate metrics dashboard.

Thankscrate

This is a gift management platform for operation teams in small businesses. It manages celebrating special employee events, such as birthdays or work anniversaries.

Important Links

Why?

This was for an in-house product at the agency I worked for. It was also one of the earliest projects I worked on at the company. It was a learning experience for both me & the company.

The Thankscrate CRUD table of employees. The Thankscrate CRUD table of employees.

Relevant contributions

  • Frontend development
  • The view theming library
  • QA development
  • Minor backend development

Major tools

Frontend:

  • React
  • Javascript
  • es6-react-admin-lte
  • SASS

Backend:

  • PHP
  • Yii2 → Laravel
  • Docker

Testing:

  • Jest
  • PhantomJS → Casper.js → Puppeteer → nothing

Process

  • Planning phase
    • Earlier on, the developers acted as their own project manager (PM) until the company had official PMs assigned.
    • We would have group discussions with our boss (client) about which features were important & make tickets.
  • Working out tickets
    • We set up Docker containers for local environments.
    • I would work on the frontend feature & bug tickets.
    • Created automated user acceptance testing for every ticket.
The Thankscrate dashboard.

Hurdles

The Thankscrate login screen.

What did I learn?

  • Building with Docker containers.
  • A whole bunch of testing frameworks & practices.
  • A little PHP.
  • Making logo animations is the bestiest thing in the world-a-ronie!
The Thankscrate animated logo.

What would I improve if I did it again?

  • Start off the automated user acceptance testing with Cypress, which didn't exist at the time.
  • Be less dependent on internal libraries that have separate Jira boards & tickets.