A modern, full-stack web application for managing assignment submissions between students and instructors. Built with Next.js, featuring a beautiful UI and comprehensive functionality for educational institutions.
- User Registration & Authentication - Secure login with role-based access
- Assignment Browsing - View all available assignments with deadlines
- Assignment Submission - Submit work via URL links (GitHub, Google Drive, etc.)
- Submission Tracking - Monitor submission status and instructor feedback
- Real-time Updates - Get instant notifications on submission status changes
- Modern Dashboard - Clean interface with submission statistics
- Assignment Creation - Create detailed assignments with descriptions and deadlines
- Submission Management - Review and evaluate student submissions
- Status Updates - Accept, reject, or provide feedback on submissions
- Analytics Dashboard - Visual charts showing submission statistics
- Bulk Operations - Efficiently manage multiple submissions
- Responsive Design - Works seamlessly on desktop, tablet, and mobile
- Modern UI/UX - Beautiful gradient designs with smooth animations
- Intuitive Navigation - Easy-to-use interface for all user types
- Loading States - Professional loading indicators and feedback
- Error Handling - Comprehensive error messages and validation
- Next.js 15.4.5 - React framework with App Router
- React 19.1.0 - Modern React with latest features
- Tailwind CSS 4.0 - Utility-first CSS framework
- Chart.js - Interactive charts and analytics
- NextAuth.js - Authentication and session management
- Next.js API Routes - Serverless API endpoints
- Database - Flexible database integration
- File Upload - Support for various file hosting services
- ESLint - Code linting and quality assurance
- Turbopack - Fast development server
- TypeScript Ready - Full TypeScript support available
- Node.js 18.0 or higher
- npm or yarn package manager
- Git
-
Clone the repository
git clone https://github.com/monikabattula/Assignment-portal.git cd Assignment-portal -
Install dependencies
npm install # or yarn install -
Environment Configuration Create a
.envfile in the root directory:NEXT_PUBLIC_API_URL = API endpoint URL NEXTAUTH_SECRET = secret-key NEXTAUTH_URL = Base URL for authentication
-
Run the development server
npm run dev # or yarn dev -
Open your browser Navigate to http://localhost:3001
- Register/Login - Create an Student account or sign in
- Browse Assignments - View available assignments on the dashboard
- Submit Work - Click "Submit Assignment" and provide your work URL
- Track Progress - Monitor submission status and feedback
- View Feedback - Access instructor comments and grades
- Register/Login - Create an instructor account
- Create Assignments - Set up new assignments with descriptions and deadlines
- Review Submissions - Access student submissions for each assignment
- Provide Feedback - Give comments and update submission status
- Monitor Analytics - View submission statistics and trends
assignment-portal/
├── app/
│ ├── api/ # API routes
│ │ └── auth/ # Authentication endpoints
│ ├── components/ # Reusable UI components
│ │ └── Navbar.js # Navigation component
│ ├── dashboard/ # Dashboard page
│ ├── instructor/ # Instructor-specific pages
│ │ ├── create-assignment/ # Assignment creation
│ │ └── submissions/ # Submission management
│ ├── login/ # Authentication pages
│ ├── register/ # User registration
│ ├── student/ # Student-specific pages
│ │ ├── submissions/ # Submission history
│ │ └── submit/ # Assignment submission
│ ├── hooks/ # Custom React hooks
│ ├── globals.css # Global styles
│ ├── layout.js # Root layout
│ └── page.js # Home page
├── public/ # Static assets
├── middleware.js # Next.js middleware
├── next.config.mjs # Next.js configuration
├── package.json # Dependencies and scripts
└── README.md # Project documentation