A modern web application for the Mefik cross-lingual document processing platform. This dashboard provides a complete user experience from marketing landing page to authenticated document management and analytics.
- Frontend Dashboard: https://github.com/i-sanjay-cs/mefik-dashboard
- Backend API: https://github.com/i-sanjay-cs/mefik-backend
- Professional marketing website
- Feature showcase and benefits
- 50+ supported languages display
- Call-to-action for user registration
- User login and signup forms
- JWT token-based authentication
- Secure session management
- Automatic routing based on auth status
- Public landing page for unauthenticated users
- Automatic redirect to dashboard for authenticated users
- Protected routes with auth guards
- Real-time system statistics
- Processing trends visualization
- Language distribution charts
- Recent activity monitoring
- Document listing with search and filters
- File upload with drag-and-drop support
- Processing status tracking
- Detailed document analysis results
- Grammatical analysis visualization
- Cross-lingual translation results
- Processing trends and metrics
- Language distribution insights
- System health monitoring
- Performance analytics
- Framework: Next.js 15 with App Router
- Language: TypeScript
- Styling: Tailwind CSS
- Charts: Recharts
- Forms: React Hook Form with Zod validation
- Icons: Heroicons
- HTTP Client: Axios
- File Upload: AWS S3 integration
- Node.js 18+
- npm or yarn
- Mefik backend running (see backend setup)
- Clone the repository:
git clone https://github.com/i-sanjay-cs/mefik-dashboard.git
cd mefik-dashboard- Install dependencies:
npm install- Configure environment variables:
cp .env.local.example .env.localEdit .env.local:
NEXT_PUBLIC_API_URL=http://localhost:8000- Start the development server:
npm run dev- Open http://localhost:3000 in your browser.
src/
├── app/ # Next.js App Router pages
│ ├── landing/ # Public marketing landing page
│ ├── auth/ # Authentication page
│ ├── dashboard/ # Main dashboard (authenticated)
│ ├── documents/ # Document management
│ │ └── [id]/ # Individual document details
│ ├── analytics/ # Analytics dashboard
│ ├── layout.tsx # Root layout
│ └── page.tsx # Root redirect logic
├── components/ # Reusable components
│ ├── auth/ # Authentication forms
│ ├── dashboard/ # Dashboard-specific components
│ ├── documents/ # Document management components
│ ├── layout/ # Layout components (Header, Sidebar)
│ └── ui/ # UI components (Button, Card, Input, Badge)
├── contexts/ # React contexts
│ └── AuthContext.tsx # Authentication context
├── lib/ # Utilities and configurations
│ ├── api.ts # API client
│ ├── s3-upload.ts # S3 file upload service
│ └── utils.ts # Utility functions
└── types/ # TypeScript type definitions
└── index.ts # Shared types
- Landing Page (
/landing) - Public marketing site showcasing Mefik - Authentication (
/auth) - Login/signup with form validation - Dashboard (
/dashboard) - Overview with stats and charts - Documents (
/documents) - Upload and manage documents - Document Details (
/documents/[id]) - View processing results and analysis - Analytics (
/analytics) - Detailed system insights
The dashboard integrates with the Mefik backend API:
POST /auth/login- User loginPOST /auth/signup- User registration
GET /documents/get-all-documents- List user documentsGET /documents/get-document/{id}- Get document statusGET /documents/get-document-details/{id}- Get document with analysis resultsPOST /documents/create-entry- Create new document entryGET /documents/supported-languages- Get supported languages
POST /upload/presigned-url- Get S3 presigned URL for file upload
GET /analytics/stats- Dashboard statisticsGET /analytics/dashboard- Analytics data
- Hero Section: Compelling value proposition with gradient design
- Features: Three main feature cards (Document Processing, Grammar Analysis, Translation)
- How It Works: 4-step process visualization
- Language Support: Grid of 50+ supported languages
- Professional Design: Modern UI with hover effects and animations
- Upload Interface: Drag-and-drop file upload with S3 integration
- Language Selection: 60+ languages organized in categories
- Status Tracking: Real-time processing status updates
- Results Visualization:
- Tabbed interface (Overview, Grammar Analysis, Translation)
- Word-level grammatical analysis
- Cross-lingual translation results
- Processing statistics
- System Overview: Total documents, processing status, completion rates
- Visual Charts: Processing trends (line chart) and language distribution (pie chart)
- Recent Activity: Latest document processing activities
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLint
- TypeScript for type safety
- ESLint for code quality
- Tailwind CSS for styling
- Component-based architecture
- Responsive design principles
npm run build
npm run startEnsure environment variables are set in production:
NEXT_PUBLIC_API_URL- Backend API URL (required)
This dashboard requires the Mefik FastAPI backend to be running. The backend provides:
- User authentication with JWT tokens
- Document processing and storage
- S3 file upload integration
- Grammatical analysis and translation services
- User logs in via
/authpage - Backend returns JWT token
- Token stored in localStorage
- API requests include
X-Auth-Tokenheader - Protected routes check authentication status
- User selects file in upload modal
- Frontend requests presigned S3 URL from backend
- File uploaded directly to S3
- Document entry created in backend with S3 URI
- Background processing begins
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
© 2026 Mefik. All rights reserved.