Developer Documentation

Resources for developers working with the LOB Exam Scheduler system

Getting Started

Installation

            # Clone the repository
            git clone https://github.com/HonoreNiyomen/lob-exam-scheduler.git
            cd lob-exam-scheduler

            # Install dependencies
            mix setup

            # Start the server
            mix phx.server
          

For development with IEx: iex -S mix phx.server

Configuration

Database Setup

Configure PostgreSQL connection in config/dev.exs

Environment Variables

Create .env file for secrets:

                DATABASE_URL=postgres://user:pass@localhost:5432/lob_exam_dev
                SECRET_KEY_BASE=your_secret_key_here
              

API Endpoints

GET

/api/exams

List all exams
            # Example Response
{
  "data": [
    {
      "id": 1,
      "name": "Mathematics Final",
      "date": "2023-05-15",
      "room": "A-204"
    }
  ]
}

          
POST

/api/exams

Create new exam
# Example Request
{
  "exam": {
    "name": "Chemistry Midterm",
    "date": "2023-06-10",
    "room_id": 3
  }
}

Technology Stack

Elixir
Phoenix
LiveView
PostgreSQL
Tailwind
Oban
Swoosh
Ecto