CREATE TABLE jobs (
id SERIAL PRIMARY KEY,
employer_id INT REFERENCES users(id),
title VARCHAR(255),
description TEXT,
media_urls JSONB -- {videos: [], images: [], pdfs: []}
);
CREATE TABLE users (
id SERIAL PRIMARY KEY,
type VARCHAR(10) CHECK (type IN ('employer', 'seeker')),
video_resume_url VARCHAR(255)
);
import { useRef, useState } from 'react';
const VideoRecorder = () => {
const videoRef = useRef(null);
const [recording, setRecording] = useState(false);
const startRecording = async () => {
const stream = await navigator.mediaDevices.getUserMedia({ video: true });
videoRef.current.srcObject = stream;
// MediaRecorder API implementation
};
return (
);
};
User Upload → S3 Bucket → S3 Event → Lambda Trigger →
FFmpeg Compression (360p/720p) → Transcribe (AWS Transcribe) →
Store in DB → Index in ElasticSearch