GithubHelp home page GithubHelp logo

leonardnzekwe / quimer Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 3.99 MB

Quimer is a Computer Based Test System

Home Page: https://quimer.vercel.app

License: MIT License

Python 50.68% CSS 0.47% TypeScript 47.93% JavaScript 0.13% Shell 0.79%
alx alx-africa cbt quiz graphene-django graphql django-rest-framework apollo-client next-auth nextjs

quimer's Introduction

Quimer

Quimer is a CBT (Computer Based Test) System that allows users to create and take custom tests and equally prep for external exams like JAMB, WAEC or NECO using the exam bodies past questions.

Introduction

Quimer (quimer.vercel.app) is a CBT (Computer Based Test) System that allows users to create and take custom tests and equally prep for external exams like JAMB, WAEC or NECO using the exam bodies past questions. It is aimed at solving most of the limitations attached to the traditional paper-based test system.

Quimer Dashboard

Features

Quimer has the following features:

  • User Authentication: Users can sign up, login and logout of the platform.
  • User Profile: Users can view and update their profile.
  • Test Creation: Users can create custom tests questions and answers as issuers.
  • Test Taking: Users can take tests and view their scores.
  • Test History: Users can view their test history and performance metrics.
  • Exam Prep: Users can prep for external exams like JAMB, WAEC or NECO using the exam bodies past questions.
  • Admin Dashboard: Admins can view, create, update and delete all users, tests and test results.

Installation and Usage

Guideline on how to install the project:

  • git clone https://github.com/leonardnzekwe/quimer.git
  • Backend (API):
    • From the project root, cd into the core directory
    • Run pip install -r requirements.txt to install the backend packages.
    • Add the database conneciton strings in the environmental variable or just use sqlite
    • Then run python manage.py runserver to start the local development server
  • Frontend (WEB):
    • From the project root, cd into the web directory
    • Run npm install to install all the frontend dependencies
    • Add the NEXT_PUBLIC_BACKEND_URL environmental variable string
    • Then run npm run dev to start the local developement server

Contributing Team

The Lafia HMS was built as team by:

Technology

We strived to follow the industry best standards. So we separated our backend logic from our front end logic. We exposed the data via Graphql and Rest API. We used the following technologies to build the project:

  • Backend (API):
    • Language: Python
    • Rest API Framework: Django, Django Rest Framework
    • GraphQL API Framework: Graphene Django
    • Authentication: JWT (JSON Web Token) && Session
    • ORM: Django ORM
    • Database: Postgres
  • Frontend (UI):
    • Language: Typescript
    • Web Framework: Nextjs
    • Styling Framework: Tailwind CSS
    • State Management && Auth: Next Auth
    • HTTP Client: Axios
    • GraphQL Client: Apollo Client
  • UI/UX (Design):
    • Tool: Canva
  • Hosting Platforms:
    • Frontend & Backend - Vercel
    • Database - Neon Postgres
    • Codebase - Github

Architecture

Quimer Architecture is a simple monolithic architecture that is divided into two main parts: the backend and the frontend. The backend is built with Django, Django Rest Framework and Django Graphene Graphql Server, while the frontend is built with Nextjs, Next Auth and Apollo Client. The frontend consumes the backend API endpoints to display the data to the user. For authentication it uses the rest api and for all other data querying and mutations it uses the graphql api. The quimer codebase is a monorepo.

Infrastructure

Quimer Infrastructure

Data Model

Quimer Data Model

API Documentation

License

License: MIT

This project is licensed under the MIT License - see the LICENSE file for details.

quimer's People

Contributors

leonardnzekwe avatar valentine1244 avatar rahma-cloud avatar

Watchers

 avatar

quimer's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.