Sample Django Web App
Assumes that PDF Generation and Upload does not consume much time.
Assumes that PDF Generation and Upload will consume time because of large data and hence it is handled asynchronously.
Queue is AWS SQS.
GET api/v1/candidates?pageId=<page_id>
Returns the list of interview candidates in the batch of 10s.
Status Code 200
[
{
"fullName": "Rajat",
"aadharId": "123456789",
"dateOfBirth": "01/01/2000",
"state": "Delhi",
"pincode": "123456",
"gender": "Male",
"email": "[email protected]",
"primaryPhone": 91123456789,
"otherPhone": 91123456789,
"address": "hno.1, My City, Town",
"longitude": -77,
"latitude": 38
},
{
...
}
]
Status Code !200
{
"Error": "Error Message"
}
TODO
POST api/v1/candidates
Add new candidates to the DB. This endpoint supports multiple uploads.
[
{
"fullName": "Rajat",
"aadharId": "123456789",
"dateOfBirth": "01/01/2000",
"state": "Delhi",
"pincode": "123456",
"gender": "Male",
"email": "[email protected]",
"primaryPhone": 91123456789,
"otherPhone": 91123456789,
"address": "hno.1, My City, Town",
"longitude": -77,
"latitude": 38,
"experience": 4,
"skills": ["python", "postgresql"],
"education": [
{
"board": "CBSE",
"level": "12",
"specialization": "PCM",
"yearOfPassing": 2010,
"institute": "ABC School"
},
{
"board": "NA",
"level": "BTech",
"specialization": "Computer Science",
"yearOfPassing": 2014,
"institute": "ABC University"
}
]
},
{
...
}
]
Status Code 200
{
"totalSuccessful": 10,
"totalFailed": 2,
"failedUploads": [
{
"reason": "Failure Reason",
"data": {
"fullName": "Rajat",
"aadharId": "123456789",
"dateOfBirth": "01/01/2000",
"state": "Delhi",
"pincode": "123456",
"gender": "Male",
"email": "[email protected]",
"primaryPhone": 91123456789,
"otherPhone": 91123456789,
"address": "hno.1, My City, Town",
"longitude": -77,
"latitude": 38,
"experience": 4,
"skills": ["python", "postgresql"],
"education": [
{
"board": "CBSE",
"level": "12",
"specialization": "PCM",
"yearOfPassing": 2010,
"institute": "ABC School"
},
{
"board": "NA",
"level": "BTech",
"specialization": "Computer Science",
"yearOfPassing": 2014,
"institute": "ABC University"
}
]
}
},
{
...
}
]
}
Status Code !200
{
"Error": "Error Message"
}
TODO
GET api/v1/resume?candidateId=<candidate_id>
Returns FileResponse of Candidate's Resume.
Status Code 200
StreamingHttpResponse Object
Status Code !200
{
"Error": "Error Message"
}
TODO