0% found this document useful (0 votes)
2 views7 pages

Full Stack Developer

The document outlines a technical assessment for developing a Smart Car Parking Monitoring & Alert System using Django for the backend and React for the frontend. The system aims to monitor parking slot usage, detect abnormal conditions, and present insights in a dashboard, with strict requirements on data modeling, business logic, and performance metrics. Candidates are given 20 hours to complete the project, focusing on clarity and correctness, with specific guidelines on API endpoints and data handling.

Uploaded by

wasifahad09
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views7 pages

Full Stack Developer

The document outlines a technical assessment for developing a Smart Car Parking Monitoring & Alert System using Django for the backend and React for the frontend. The system aims to monitor parking slot usage, detect abnormal conditions, and present insights in a dashboard, with strict requirements on data modeling, business logic, and performance metrics. Candidates are given 20 hours to complete the project, focusing on clarity and correctness, with specific guidelines on API endpoints and data handling.

Uploaded by

wasifahad09
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Made with Xodo PDF Reader and Editor

Smart Car Parking Monitoring & Alert System


Full-Stack Software Developer – Technical Assessment
Overview

You are required to design and implement a Smart Car Parking Monitoring & Alert System using
Django (Backend) and React (Frontend).

This system simulates a real-world parking facility where multiple parking zones and slots are monitored
through connected devices that continuously send operational data. The software must ingest this data,
process it using meaningful business logic, detect abnormal conditions, and present insights in a
monitoring dashboard.

This is an intentionally challenging assessment, designed to evaluate your ability to:

x understand a domain problem,

x design clean data models,

x implement correct business logic,

x and deliver a working system under strict time constraints.

Focus on clarity, correctness, and structure, not on implementing every possible feature.

Time Limit

20 Hours (Strict)
No extensions will be granted.

Technology Stack (Mandatory)

x Backend: Django + Django REST Framework

x Frontend: React (any UI framework optional)

You are free to choose:

x Database (SQLite / MySQL / PostgreSQL)

x Styling method

x Project structure

Case Scenario: Smart Car Parking Facility

A commercial building operates a multi-zone parking facility with areas such as Basement-1, Basement-
2, Outdoor, and VIP parking.

Each parking slot is monitored by a small device (sensor/controller). These devices periodically send
telemetry data to the backend system. The management wants a software platform that can:
Made with Xodo PDF Reader and Editor

x Monitor parking slot usage in near real time

x Track historical usage and trends

x Detect device failures or abnormal behavior

x Measure parking efficiency against predefined targets

The system is not responsible for payments or reservations.


Its role is monitoring, alerting, and visibility.

System Objectives

You need to build a system that can:

x Store telemetry data sent by parking slot devices

x Store parking usage / occupancy events

x Compute usage and efficiency metrics

x Detect abnormal conditions and generate alerts

x Present monitoring information in a dashboard

Backend Requirements (Django + DRF)

Data Modeling

Design models that represent the parking structure and data flow.
At minimum, your system should conceptually support entities such as:

x Parking Facility (or Site)

x Parking Zone (e.g., B1, B2, VIP)

x Device (attached to a parking slot)

x Telemetry Data (time-series data from devices)

x Parking / Occupancy Log

x Alert

You may add additional models if they make your design clearer.

Telemetry Data Ingestion

Endpoint:
POST /api/telemetry/

Sample Payload:

"device_code": "PARK-B1-S005",
Made with Xodo PDF Reader and Editor

"voltage": 220.5,

"current": 5.2,

"power_factor": 0.92,

"timestamp": "2026-02-01T10:30:00"

Requirements:

x Validate that the device exists

x Reject invalid timestamps

x Store operational / energy-related data

x Prevent duplicate telemetry for the same device and timestamp

Parking Usage / Occupancy Data

Endpoint:
POST /api/parking-log/

Sample Payload:

"device_code": "PARK-B1-S005",

"is_occupied": true,

"timestamp": "2026-02-01T10:45:00"

This data represents when a parking slot becomes occupied or free.

You may add fields if required to support your logic.

Dashboard Summary API

Endpoint:
GET /api/dashboard/summary/?date=YYYY-MM-DD

The response should include:

x Total parking events

x Current occupancy count

x Number of active devices

x Number of alerts triggered


Made with Xodo PDF Reader and Editor

x Basic efficiency indicators

Business Logic Requirements

Implement logic to:

x Calculate hourly parking usage

x Calculate average occupancy per zone

x Detect and record alerts such as:

R Device offline (no data received for more than 2 minutes)

R Abnormally high power usage

R Invalid or inconsistent data patterns

You may define reasonable assumptions and thresholds.


Document them clearly.

Parking Target & Efficiency Calculation

The system should support parking usage targets.

Requirements:

x Define a daily target (e.g., expected occupancy or usage count) per zone or per device

x Calculate:

R Target vs actual usage

R Efficiency percentage

x Include these values in the dashboard summary

Alert Severity & Persistence

Enhance the alert system with the following rules:

x Alerts must have severity levels:

R INFO

R WARNING

R CRITICAL

x Alerts must be:

R Stored in the database

R Queryable via API


Made with Xodo PDF Reader and Editor

x Duplicate alerts for the same condition must be prevented


(e.g., do not create the same “device offline” alert repeatedly)

Device Health Scoring

Implement a simple device health score (0–100).

The score may consider:

x Frequency of received data

x Number of alerts generated

x Offline duration

You are free to define the logic, but you must explain it clearly in the README.

Bulk Telemetry Ingestion

Devices may send telemetry in bulk.

Create:

x POST /api/telemetry/bulk/

The payload may contain multiple telemetry records.

Focus on:

x Validation

x Correctness

x Reasonable performance

Perfection is not required.

Frontend Requirements (React)

Dashboard

The dashboard should provide:

x Summary cards (key metrics)

x Zone-wise or slot-wise performance table

x Device heartbeat / last-seen information

x Status indicators:

R OK

R Warning

R Critical
Made with Xodo PDF Reader and Editor

Live Monitoring

x Poll the backend every 10 seconds

x Display:

R Device status

R Last received timestamp

R Current alert state

Filters & Reports

Support filtering by:

x Parking facility

x Zone

x Date range

Include:

x Sorting

x Search

x Download options (CSV / Excel / PDF)

Alert Management Panel

Provide a basic alert panel that allows:

x Listing active alerts

x Filtering by severity

x Marking alerts as acknowledged

Performance Visualization

Add at least one meaningful chart, such as:

x Hourly usage vs target

x Occupancy trend over time

x Device health trend

Optional Enhancements (Bonus)

You may implement additional features that improve clarity or usability.


If you do, briefly explain them in the README.

Scalability Thought Exercise (No Code Required)


Made with Xodo PDF Reader and Editor

In the README, answer the following:

“What changes would you make if this system had 5,000 devices sending data every 10 seconds?”

This is a reasoning exercise. Code is not required.

Submission Instructions (Mandatory)

x Submit a Git repository link only

x Do not submit ZIP files

Your repository must include:

x A complete, runnable application

x A [Link] containing:

R Setup instructions

R Completed features

R Incomplete features

R What you would implement next with more time

 Missing README or broken setup instructions will result in rejection.



Restrictions

x Do not hardcode data

x Do not use mock APIs

x Do not submit copied tutorial projects

x Do not over-engineer at the expense of clarity

Evaluation Criteria

Your submission will be evaluated based on:

x Architecture and data modeling

x Business logic correctness

x Backend and frontend integration

x Code readability and structure

x Documentation and reasoning

Completing all features is not required.

You might also like