Back to Projects
CompletedTeam Project

AnyExam - Computer-Based Test Platform

Backend Developer (Team - 2 developers)
Nov 2023 - Jan 2024

Computer-based test platform for recruiters and academics built during ALX Software Engineering program with Flask backend and role-based authentication

AnyExam - Computer-Based Test Platform Preview

Project Overview

AnyExam is a computer-based test platform developed as part of the ALX Software Engineering program. The platform enables educational institutions and recruiters to create, manage, and deliver digital exams with various question types. I worked as one of two backend developers to build the core API and authentication system over a 3-month period.

The Challenge

Problem Statement

Educational institutions and recruiters need reliable platforms for conducting computer-based tests, but existing solutions were either too expensive or lacked the flexibility needed for different assessment types and user roles.

My Role & Contributions

Backend developer on a 2-person team during the ALX Software Engineering program

Responsibilities

Co-developed JWT-based authentication system supporting admin and candidate roles
Built RESTful API endpoints for exam creation, question management, and result tracking
Implemented database models for exams, questions, candidates, and results
Created comprehensive API documentation covering 20+ endpoints
Set up database migrations with Flask-Migrate for schema management

Technical Decisions

Chose Flask for lightweight backend development
Used SQLAlchemy for ORM and database management
Implemented JWT for stateless authentication
Selected PostgreSQL for reliable data storage

Implementation & Approach

Development Approach

1
Step 1

Started with database schema design for exams, questions, and users

2
Step 2

Built authentication system with role-based access control

3
Step 3

Implemented exam management APIs with CRUD operations

4
Step 4

Added support for multiple question types (multiple choice, essay, true/false)

5
Step 5

Created documentation for all API endpoints

6
Step 6

Set up database migration system for version control

Key Features Built

Role-based authentication for admins and candidates
Exam creation with time limits and configuration
Multiple question type support
Result tracking and visibility controls
RESTful API with comprehensive documentation
Database migrations for schema management

Outcomes & Results

Key Achievements

Successfully delivered working platform within program timeline
Built authentication system supporting multiple user roles
Created 20+ documented API endpoints
Implemented database migrations for schema management

Impact

Delivered a functional computer-based test platform that demonstrates backend development skills and API design principles learned during the ALX program.

Key Learnings

Flask provides a flexible framework for rapid API development
JWT authentication requires careful token management
Database migrations are essential for team collaboration
Clear API documentation is crucial for frontend integration

Tech Stack

FlaskSQLAlchemyJWTPostgreSQLFlask-MigratePython