Doclin Note Generator is an AI-powered platform for generating notes, question papers, and study guides. It is designed for students, teachers, and professionals to simplify the process of creating educational content, allowing users to focus on learning and teaching rather than manual preparation.
- Features
- Tech Stack
- Project Structure
- Getting Started
- Development
- Testing
- Deployment
- Contributing
- License
- Acknowledgements
- AI Question Generator: Generate contextual questions from any topic using advanced AI algorithms.
- Smart Notes: Create organized, searchable notes with automatic formatting and categorization.
- Study Materials: Transform your content into comprehensive study guides and flashcards.
- Progress Analytics: Track your learning journey with detailed analytics and insights.
- Exam Paper Generation: Generate exam papers for various boards (CBSE, ICSE, Custom) with customizable configuration.
- User Authentication: Secure login, registration, and OAuth (Google, Meta) support.
- Admin Dashboard: Manage users, models, and syllabus.
- Feedback & Issue Reporting: Users can submit feedback and report issues with attachments.
- Responsive UI: Modern, mobile-friendly interface with smooth animations.
- React.js – UI library for building user interfaces.
- TypeScript – Type-safe JavaScript.
- Framer Motion – Animation library for React.
- Zod – TypeScript-first schema validation.
- TanStack Router – Powerful, type-safe routing for React.
- TanStack Query – Data fetching and caching.
- Radix UI – Accessible, customizable UI primitives.
- React Icons – Popular icon packs for React.
- Next-themes – Theme switching for React.
- Sonner – Customizable toast notifications.
- Shadcn – Reusable React component library.
- TailwindCSS – Utility-first CSS framework.
- Vite – Fast frontend build tool.
- Docker – Containerization for development and deployment.
- FastAPI – High-performance Python web framework.
- SQLAlchemy – ORM for database management.
- Alembic – Database migrations.
- PostgreSQL – Relational database.
- Pydantic – Data validation and settings management.
- Authlib – OAuth & JWT handling.
- python-jose – JWT authentication.
- passlib/bcrypt – Password hashing.
- httpx – Async HTTP client.
- pdfplumber – PDF parsing.
- Cohere, Google GenAI, LangChain – AI/LLM integrations.
- Docker – Containerization for backend services.
apps/
backend/
src/
config/ # Configuration and settings
core/ # Core entities, services, templates, repo interfaces
database/ # Database setup and models
infrastructure/ # Concrete repo implementations, providers, models
interfaces/ # API routes, schemas, dependencies
LLMs/ # LLM integration logic
prompts/ # Prompt templates for LLMs
utils/ # Utility functions and middleware
requirements.txt
requirements-prod.txt
.env
.example.env
main.py
frontend/
src/
components/ # React components (pages, UI, dashboard, etc.)
context/ # React context providers
hook/ # Custom React hooks
layouts/ # Layout components
lib/ # Utility libraries (data, motion, auth, etc.)
routes/ # Route definitions (TanStack Router)
types/ # TypeScript types and schemas
utils/ # Utility functions/constants
index.html
vite.config.ts
.env
.env.example
package.json
- Node.js (v18+ recommended)
- pnpm (or npm/yarn)
- Python (3.10+ recommended)
- PostgreSQL (if running locally)
- Docker (optional, for containerized setup)
Copy .example.env to .env in apps/backend/ and fill in the required values.
Copy .env.example to .env in apps/frontend/ and set the API base URL and OAuth credentials.
cd apps/backend
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txtcd apps/frontend
pnpm install # or npm install / yarn installcd apps/backend
uvicorn src.main:app --reload --host 0.0.0.0 --port 8000cd apps/frontend
pnpm dev # or npm run dev / yarn devThe frontend will be available at http://localhost:5173 and the backend at http://localhost:8000.
You can use Docker Compose for a full-stack setup (backend, frontend, and PostgreSQL):
docker-compose up --build- The backend will run on port 8000.
- The frontend will run on port 5173.
- PostgreSQL will be available as configured in
docker-compose.yml.
- Hot Reloading: Both frontend and backend support hot reloading for rapid development.
- Code Quality: ESLint and Prettier are recommended for code formatting and linting.
- Type Safety: TypeScript and Zod schemas are used throughout the frontend for type safety.
- Frontend: Add and run tests using your preferred React testing library (e.g., Jest, React Testing Library).
- Backend: Use
pytestfor Python backend tests.
- Frontend: Build with
pnpm buildand deploy thedist/folder to your preferred static hosting (Vercel, Netlify, etc.). - Backend: Deploy using Docker, or any cloud provider supporting FastAPI (e.g., Azure, AWS, Heroku).
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature-name - Make your changes and commit:
git commit -m "Add your message" - Push to your fork:
git push origin feature/your-feature-name - Open a Pull Request describing your changes.
Guidelines:
- Write clear, concise commit messages.
- Follow the existing code style.
- Add tests for new features.
- Document your code and update the README if necessary.
This project is licensed under the MIT License.
- React
- FastAPI
- TailwindCSS
- TanStack
- Framer Motion
- Zod
- Radix UI
- Sonner
- Shadcn
- Cohere
- Google GenAI
- LangChain
For any questions, issues, or feature requests, please use the Contact page or open an issue on GitHub.