A modern, responsive web application for managing and searching through various document formats with real-time search capabilities and dark mode support.
- 📁 Support for multiple file formats:
- JSON
- CSV
- Excel (XLSX/XLS)
- Text files
- 🔍 Real-time search with highlighted results
- 🌓 Dark/Light mode support
- 📱 Fully responsive design
- ⚡ Infinite scrolling for large document sets
- 🎯 Document preview with syntax highlighting
- Framework: Next.js 13.5
- Styling: Tailwind CSS
- UI Components: shadcn/ui
- Document Highlighter: shikhi
- Icons: Lucide React
- Clone the repository
- Change directory to frontend:
cd frontend
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Open http://localhost:3000 in your browser
├── app/
│ ├── globals.css # Global styles
│ ├── layout.tsx # Root layout
│ ├── page.tsx # Main page
│ └── providers.tsx # App providers
├── components/
│ ├── document-list.tsx # Document list component
│ ├── document-viewer.tsx # Document viewer
│ └── ui/ # UI components
├── lib/
│ ├── api.ts # API service
│ ├── document-parser.ts # File parsing logic
│ ├── store.ts # State management
│ └── utils.ts # Utility functions
└── types/
└── document.ts # TypeScript types
- Upload multiple documents simultaneously
- Automatic format detection and parsing
- Document preview with syntax highlighting
- Delete documents with confirmation
- Real-time search across all documents
- Highlighted search results
- Search within specific documents
- Page and line number indicators
- Responsive sidebar navigation
- Dark/Light mode toggle
- Mobile-friendly design
- Infinite scroll for large document sets
- Loading states and animations
- Efficient document parsing
- Pagination and infinite scroll
- Optimized rendering for large documents
- Clone the repository
- Change directory to frontend:
cd backend
- Install dependencies:
pip install poetry poetry install
- Start the development server:
uvicorn app:app --reload --port 6969
- Open http://localhost:6969/docs in your browser
├── base_models/
│ ├── document_data.py # How document is stored
│ ├── response_data.py # How document is shown
├── controllers/
│ ├── controller.py # Controls the data flow b/w DB and APP
├── settings/
│ └── base.py # Loading the environment variables
└── utils/
│ └── db_engine # Used for database interactions
│ └── file_handlers # Used to convert files into documents
│
└──app.py # Entry point to the application, calls the controller
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- shadcn/ui for the beautiful UI components
- Lucide for the icons
- Tailwind CSS for the styling system
- Next.js for the framework