Novi is a full-stack web application that transforms PDF documents into interactive lessons and quizzes using AI.
It showcases real-world full-stack development, API design, authentication, database management, and modern UI practices.
- Upload PDF documents
- AI-generated lessons & quizzes
- Real-time preview
- JWT authentication
- Content management dashboard
- Responsive modern UI
⚠️ AI generation falls back to mock data when API quota is exceeded.
- Django → https://www.djangoproject.com/
- Django REST Framework → https://www.django-rest-framework.org/
- Python 3 → https://www.python.org/
- JWT Authentication → https://jwt.io/
- SQLite → https://www.sqlite.org/
- React 18 → https://react.dev/
- TypeScript → https://www.typescriptlang.org/
- TanStack Router → https://tanstack.com/router
- Tailwind CSS → https://tailwindcss.com/
- Vite → https://vitejs.dev/
- Lucide Icons → https://lucide.dev/
- Navigate to the backend folder:
cd DjangoWithAI- Create and activate a virtual environment:
python3 -m venv venv
source venv/bin/activate- Install dependencies (if
requirements.txtexists):
pip install -r requirements.txt- Run the Django development server:
python3 manage.py runserverThe backend should now be running at http://127.0.0.1:8000/.
- Navigate to the frontend folder (if separate, otherwise stay in root):
cd frontend- Install dependencies:
npm install- Build the project:
npm run build- Start the development server:
npm run devThe frontend should now be running, usually at http://localhost:3000/.
- Make sure the backend server is running before interacting with the frontend.