WebReactNode.jsTypeScriptS3Redis

Certificates

Certificates

Certificates

Cloud is the new paper.

All your Aaruush certificates live in the cloud

Distributing paper certificates is tedious. Preserving them for a lifetime is more tedious. With Certificates, all your Aaruush credentials are two taps away.

We're open

We're open

Day. Night. Day thru Night. Grab a copy of your certificate at three in the morning. In any timezone.

There's certificates and there's verified certificates

There's certificates and there's verified certificates

All certificates generate a barcode unique to them. Recruiters can effortlessly assess the genuineness of the certificate by scanning the code on the certificate. What's forgery?

Cache them all

Cache them all

A dedicated cache layer at the back short circuits the response time making the users' experience breezier. Caching delightfulness.

Code Flow

Architecture

Architecture

The frontend is developed on React and the server is built on Node.js. Both ends of the spectrum are statically typed with TypeScript. When a user requests their certificate, a POST request is sent to the server containing their email address, the events' slug and a ReCAPTCHA token.

The handler checks with the database whether the email address holder was an attendee of the specified event. If it booleans out to be negative, appropriate errors are gracefully handled at the front.

If all's well, the server checks for the certificate template in the cache layer. If it doesn't find one, it requests a signed certificate template from AWS S3. The template, certificate specifications defining the position of text and barcode, and attendee data are used to generate the certificate which is sent back to the frontend as a buffer and downloaded to the users' disk as a file.

The barcode on the certificate file redirects the scanner to the validation service which looks up and verifies the information using the certificate ID encoded in the barcode.