Full-Stack Developer for an existing website

Job ID: 31843978

Budget: $2 – $8 CAD

You will be in charge in helping maintain the website PrepMatch.com which focuses on peer-to-peer preparation for the CASPer test and help expand its scope.
Expected Workload
Contribute to the organization's existing source code control (GitHub).
Develop the front-end of the platform using Angular 10 (TypeScript, HTML, Sass).
Develop the back-end of the platform using Node.js and Express (JavaScript).
Create and improve features with security and user feedback in mind.
Manage and configure Linux server (Ubuntu and Nginx) and DNS configuration on DigitalOcean.
Manage NoSQL database of MongoDB Atlas instance.
Integrate the system with third-party and external APIs.
Answer technical support questions of the platform’s users.
Initially, we want to integrate an interview preparation component into the system. This may require full-time work hours for a few weeks. Later on, the workload will focus on maintenance.
Third-party APIs
There are third-party APIs used to integrate with the system.

Notification system and activity feed - GetStream.IO (Front-end and Back-end)
Page analytics - Google Analytics (Front-end)
Email sending - Google Mail Service Account (Back-end)
Back-end System
The back-end is primarily powered using Node.js and Express. The architectural style of the back-end is monolithic. MongoDB is the database provider. Moreover, the other technologies and libraries in the back-end are:
Email - Pug and email-templates
Database ORM - Mongoose
Access Level Control - CASL
Validation - Joi and express-validation
Authentication - Passport, JWT using RS256
Security - Helmet and Csurf

Various tooling were also made in JavaScript such as:
Db-mocker - generate random fake data for users, scenarios, and answers for later database population
Db-seeder - insert the data from db-mocker to the database so that an emulated environment can be made

Front-end System

The front-end is powered using Angular 10. The main look-and-feel of the app is achieved through Angular Material and Angular Flex Layout.

Deployment

Both the front-end and back-end are hosted in a DigitalOcean Ubuntu droplet. The back-end Node.js process is running on PM2 while the front-end is served using nginx. A reverse proxy is configured so that the Nginx server (front-end) can interface with the Node.js server (back-end). The SSL certificate is provided for free by Let’s Encrypt and the certificate is programmed for automatic renewal.

WHEN APPLYING:

Please summarize what you thought of the website, PrepMatch.com, and how you think you can improve it. Please also let me know which components from this advertisement you are not comfortable with.
Related categories: Website Design Node.js NoSQL MongoDB Angular