A comprehensive mobile app built with React Native and Expo for managing assignments, experiments, and test scores with a modern, professional UI design and intelligent notification system.
- Progress Visualization: Visual progress bars showing completion percentage
- Status Tracking: Completed, Written, Not Completed, Not Given with color-coded icons
- Submission Dates: Set and track assignment submission deadlines
- Course Integration: Add course codes and organize by subjects
- Bulk Management: Edit total assignments and auto-generate items
- Identical Functionality: Same powerful features as assignments
- Lab Tracking: Perfect for laboratory experiments and reports
- Status Management: Visual status indicators with icon-only display
- Progress Monitoring: Track completion rates across all experiments
- Flexible Test Types: UT1, UT2, Finals with year/semester selection
- Grade Visualization: Percentage-based scoring with color-coded performance
- Performance Analytics: Overall statistics and subject-wise breakdown
- Smart Calculations: Automatic percentage and performance tracking
- Written Item Reminders: Daily notifications for items ready for review
- Submission Alerts: 2-day, 1-day, and same-day deadline reminders
- Customizable Schedule: Set multiple reminder times and active days
- Smart Filtering: Only notifies for relevant items with future deadlines
- Professional Settings: Beautiful notification management interface
- Clean Interface: Modern card-based design with consistent spacing
- Visual Hierarchy: Clear section headers and organized layouts
- Icon Integration: Meaningful icons for quick status recognition
- Progress Indicators: Visual progress bars and percentage displays
- Responsive Design: Optimized for different screen sizes
- Dark/Light Themes: Theme switching capability
- React Native with Expo SDK 54
- React Navigation for seamless navigation
- AsyncStorage for local data persistence
- Expo Notifications for intelligent reminder system
- Expo Vector Icons (Ionicons) for consistent iconography
- React Native DateTimePicker for date/time selection
- Custom Neumorphic Components for modern UI design
- Node.js (v16 or higher)
- npm or yarn package manager
- Expo CLI (
npm install -g @expo/cli
) - Expo Go app on your mobile device (for testing)
- Android Studio (for Android development) or Xcode (for iOS development)
-
Clone the repository
git clone https://github.com/SiddheshSD/Assignment_Manager.git cd Assignment_Manager
-
Install dependencies
npm install
-
Start the development server
npm start # or expo start
-
Run on device
- Install Expo Go app on your Android/iOS device
- Scan the QR code from the terminal/browser
- The app will load on your device
expo build:android
# or for EAS Build
eas build --platform android
expo build:ios
# or for EAS Build
eas build --platform ios
AssignHub/
βββ src/
β βββ components/
β β βββ Header.js # Enhanced header with notifications
β β βββ NeumorphicCard.js # Modern card component
β β βββ NeumorphicButton.js # Styled button component
β β βββ NeumorphicInput.js # Input component
β βββ screens/
β β βββ AssignmentsScreen.js # Assignments list with progress
β β βββ AssignmentDetailScreen.js # Assignment management
β β βββ ExperimentsScreen.js # Experiments list with progress
β β βββ ExperimentDetailScreen.js # Experiment management
β β βββ TestScoresScreen.js # Test scores with analytics
β β βββ TestScoreDetailScreen.js # Score management
β βββ utils/
β βββ storage.js # Data persistence utilities
β βββ notifications.js # Notification system
β βββ theme.js # Theme management
βββ assets/ # App icons and images
βββ app.json # Expo configuration
βββ package.json # Dependencies
- Launch AssignHub and explore the three main tabs
- Set up notifications via the header menu (three dots)
- Add your first subject using the "+" button
- Start tracking your academic progress!
- Add Subject: Tap "+" β Enter subject name, total count, and course code
- Track Progress: Visual progress bars show completion percentage
- Update Status: Tap items to change status (icons only for clean look)
- Set Deadlines: Add submission dates for automatic reminders
- Monitor Performance: View completion statistics at a glance
- Create Test: Select type (UT1/UT2/Finals), year, and semester
- Add Subjects: Enter marks obtained and total marks
- View Performance: Automatic percentage calculation with color coding
- Track Progress: Overall statistics and subject-wise breakdown
- Access Settings: Tap three dots β Notification Settings
- Set Reminder Times: Add multiple daily reminder times
- Choose Active Days: Select which days to receive notifications
- Get Smart Alerts:
- Daily reminders for written items
- 2-day advance deadline warnings
- 1-day advance deadline alerts
- Same-day submission reminders
- Local Storage: All data stored locally using AsyncStorage
- No Server Required: Works completely offline
- Privacy First: No data collection or external transmission
- Persistent: Data survives app updates and device restarts
- Secure: Data remains on your device only
- Primary: #6366f1 (Indigo) - Main accent color
- Success: #10b981 (Green) - Completed items
- Warning: #f59e0b (Amber) - Written/pending items
- Error: #ef4444 (Red) - Not completed items
- Neutral: #6b7280 (Gray) - Not given items
- Background: #e6e6e6 (Light Gray) - App background
- Cards: Elevated design with consistent 12px border radius
- Progress Bars: Visual completion indicators
- Status Icons: Meaningful iconography for quick recognition
- Typography: Clear hierarchy with proper font weights
- Spacing: Consistent 20px padding and 8px margins
-
App won't start
# Clear cache and reinstall expo start -c rm -rf node_modules && npm install
-
Notifications not working
- Grant notification permissions in device settings
- Check if Do Not Disturb mode is enabled
- Verify notification times are set correctly
-
Build errors
# Update tools npm install -g @expo/cli@latest npm install -g eas-cli@latest
-
Data not saving
- Ensure sufficient device storage
- Check AsyncStorage permissions
- Try clearing app data and restarting
We welcome contributions! Here's how you can help:
- π Report Bugs: Create detailed issue reports
- π‘ Suggest Features: Share your ideas for improvements
- π§ Submit PRs: Fix bugs or add new features
- π Improve Docs: Help make documentation better
- β Star the Repo: Show your support!
- Fork the repository
- Create a feature branch:
git checkout -b feature-name
- Make your changes and test thoroughly
- Submit a pull request with a clear description
This project is open source and available under the MIT License.
- GitHub Issues: Create an issue
- Discussions: Join project discussions on GitHub
- Email: Contact the developer for urgent matters
- Built with β€οΈ by SiddheshSD
- Powered by React Native and Expo
- Icons by Expo Vector Icons
- UI inspired by modern design principles
AssignHub - Making academic management simple, smart, and beautiful! πβ¨