<aside> 💡 This is not a full-blown Technical Document, but rather in my own words a small overview of what went behind in making the GateArch website. If you have a question or want to know more, reach out to me at [email protected] as always.

</aside>

🗨️ Overview

GateArch is a platform where students can register to study better in preparation for architecture-related exams. People who run the website handcraft posts, and tests to provide these to students to help them before they actually go for a real exam. This means the environment must be as similar as possible to get them familiar with this process.

Software Stack
Frontend Bootstrap, Vuejs, ChartJS, jQuery
Serverside Laravel
Database MySQL
Versioning/Management Git and GitHub
Package Management Composer
Server Nginx
Hardware Stack
CPU 1 vCPU
RAM 1 GB DDR4
Storage 40 GB NVME SSD
OS Ubuntu 18.04

<aside> 💡 The entire GateArch website was previously hosted on a shared hosting account which was already provided by GateArch(Cognimize LLC) themselves, but later the shared host provider removed SSH access and I helped them to shift this all over to a VPS server.

</aside>

🛡️ Why this stack?

Before I start describing the application and process, Here is the reason why all the above choices in the stack were made.

🛠️ Architectural Strategy

The entire Application was divided into 4 parts as follows

Section Function What was used
The Front Page Landing Page anyone can see went they visit the website, this also houses the blog section which can be updated by the admin of the website Laravel Server Rendered and bits of javascript for interactivity
Admin Panel The admin panel is used by Website administrators and Teachers to manage the website and manage exams etc Sanjab Component Package for defining the dashboard
Student Portal The student portal is where students can log in, read articles, purchase exams, and view exams and their results alongside ranking among the students Bootstrap, and Laravel to render pages and javascript for bits of interactivity
Exam Portal Although it looks like it's part of the student portal, it's entirely its own Vuejs application to manage complex states during exams, a SPA-like behavior was needed Laravel to initial render and hydrating Vuejs App