A modern, full-featured web application for managing IAESTE internships at Manipal University. Built with Next.js, TypeScript, Tailwind CSS, and MongoDB, it streamlines the workflow for interns, Local Committee (LC) members, and Incoming Co-ordinators.
The IAESTE LCMU InternApp is designed to simplify and digitize the management of international internships. It provides dashboards and tools for:
- Interns: Access essential info, discounts, emergency contacts, and more.
- LC Members: Manage intern checklists, slots, and local operations.
- Admins: Oversee all users, slots, and statistics.
- Role-based dashboards for Interns, LCs, and Admins
- Intern SRO Checklist: Track onboarding and compliance
- Slot Management: Assign and monitor internship slots
- Emergency & Essentials: Quick access to vital info
- Discounts & Nearby: Explore local offers and places
- Authentication: Secure login for all roles
- Progressive Web App (PWA) support
- Responsive UI: Mobile-first, accessible design
- Frontend: Next.js (App Router), React 19, TypeScript, Tailwind CSS
- Backend: Next.js API routes, MongoDB (via Mongoose)
- Auth: next-auth
- UI: Shadcn UI, Lucide Icons, Framer Motion
- PWA: next-pwa
app/ # Main app pages and API routes
api/ # REST API endpoints (admins, interns, lcs, slots, etc.)
dashboard/ # User dashboards
...
components/ # Reusable React components (admin, intern, lc, ui)
hooks/ # Custom React hooks
lib/ # Utilities and database helpers
public/ # Static assets (images, icons, manifest)
- Install dependencies:
pnpm install # or npm install, yarn install, bun install - Set up environment variables:
- Copy
.env.exampleto.env.localand fill in required values (MongoDB URI, Auth secrets, etc.)
- Copy
- Run the development server:
pnpm dev # or npm run dev, yarn dev, bun dev - Open http://localhost:3000 in your browser.
- Interns: Sign in to view your dashboard, checklists, essentials, and more.
- LCs/Admins: Access management dashboards, update checklists, assign slots, and view statistics.
- PWA: Install the app on your device for offline access.
- Fork this repo and create a feature branch.
- Add/modify code with clear documentation (use JSDoc/TSDoc for TypeScript).
- Run
pnpm lintand ensure all checks pass. - Submit a pull request with a clear description.
This project is for IAESTE Manipal University use. Contact the maintainers for licensing details.
For more details, see the codebase and inline documentation.