MongoDB Schema
No. | Field | Type | Description |
---|---|---|---|
1 | kind | String/Enum | C = Citizen card D = Driver’s license P = Passport F = KITAS T = Tax card |
2 | identifier | String | NIK for KTP (Indonesian ID card), SIM card number, passport number, etc. depending on “kind” |
3 | name | String | |
4 | birthPlace | String | |
5 | birthDate | Date | |
6 | gender | String/Enum | M = Male F = Female |
7 | bloodType | String/Enum | A B O AB |
8 | address | String | |
9 | religion | String | |
10 | marriageStatus | String/Enum | S = Single M = Married V = Divorced W = Widowed |
11 | occupation | String | |
12 | nationalityCode | String | Example : Japan = JP |
13 | expiryDate | String | |
14 | facePhoto | Media | |
15 | cardImage | Media | |
16 | personWithCardPhoto | Media | |
17 | issuerCountryCode | String | Example : Japan = JP |
18 | issuerProvince | String | |
19 | issuerCity | String | |
20 | issuedDate | Date | |
21 | faceTop | Integer | |
22 | faceLeft | Integer | |
23 | faceWidth | Integer | |
24 | faceHeight | Integer | |
25 | statusCode | String/Enum | D = Draft (user hasn’t uploaded completely) U = User has uploaded, need verification P = Automatically filled by AI, not yet verified V = Verified by admin or by AI with high confidence T = Trusted (provides external or supporting evidence) R = Rejected |
26 | uploadedAt | Date | TimeStamp when uploaded to Strapi. This is set automatically by upload, cannot be changed. |
27 | extractedAt | Date | TimeStamp when extracted to AI program. This is set automatically by AI extractor, cannot be changed |
28 | verifiedAt | Date | TimeStamp after verified by the admin. An ID card reviewer can modify `statusCode `, and if statusCode becomes V/T, then verifiedAt is changed automatically to current time. |
ID card extractor docs : https://id-card-extractor.lovia.life/redoc
AWS S3 Storage
Files uploaded to ID Card Repository (Strapi) are stored in AWS S3 bucket media-app-staging.lovia.life
(“samara” AWS account).
CORS Configuration
These files need to be downloadable by ID Card Review PWA, so bucket must have CORS configuration below (Buckets > Permissions > CORS). Reference: Using cross-origin resource sharing (CORS) | AWS S3.
[
{
"AllowedHeaders": [],
"AllowedMethods": [
"GET"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": []
}
]