Exam105.com is a platform where the students and teachers will be able to get, search, and interact with the past papers of Cambridge Board Education System. It would provide its users with a lot of benefits. The users will be able to pick and choose from a wide range of papers conducted over the years, all the way from 2011, and make a customized pdf book to download and work with it online however they may prefer; be it to prepare for the upcoming exams (from students' perspective), or to make new papers (from teachers' perspective). And as we progress, there will be more functionalities provided by the system in future.
The Exam105 Admin Application is made primarily for the purpose of managing the data that would be used in the exam105.com system. This application is bootstrapped with create-react-app. And the technologies it uses are listed down below.
- We have used React library to develop the front-end part of our admin application. React is a free and open-source front-end JavaScript library developed by Facebook, for building user interfaces or UI components.
- We have implemented Redux to manage the state in our application. It is an open-source JavaScript library.
- We have used Material-UI to develop the design of our react app. This saves a significant amount of time since the developers do not need to write everything from scratch.
- NGINX is a popular lightweight web application that is used for developing server-side applications. It is an open-source web server that is developed to run on a variety of operating systems.
- Docker is a set of platform as a service products that use OS-level virtualization to deliver software in packages called containers. And Docker has ensured that it has support for nginx, so we have containerized our web application to run on nginx server.
- JSON Web Token (JWT) is used in this application to implement the authorization and session management for the users of the app. It allows the users to login for a certain specified amount of time, to keep the application secure and protected from external threats on the system.