Quizify / frontend /src /api.js
hetsheta's picture
Add Dockerfile + .dockerignore for HF Spaces; use VITE_API_BASE env var; clean requirements.txt
2f95a42
Raw
History Blame Contribute Delete
1.2 kB
// In production set VITE_API_BASE to your HF Space URL in the Vercel dashboard.
// Locally it falls back to the uvicorn dev server.
const API_BASE = import.meta.env.VITE_API_BASE || 'http://127.0.0.1:8000';
export const parseDocument = async (file) => {
const formData = new FormData();
formData.append('file', file);
const res = await fetch(`${API_BASE}/parse-document`, {
method: 'POST',
body: formData,
});
if (!res.ok) throw new Error('Failed to parse document');
return res.json();
};
export const generateQuiz = async (payload) => {
const res = await fetch(`${API_BASE}/generate-quiz`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(payload),
});
if (!res.ok) throw new Error('Failed to generate quiz');
return res.json();
};
export const submitQuiz = async (quizId, answers) => {
const res = await fetch(`${API_BASE}/submit-quiz`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ quiz_id: quizId, answers }),
});
if (res.status === 404) throw new Error('Quiz expired');
if (!res.ok) throw new Error('Submission failed');
return res.json();
};