Android Learning Notes and Test App -- 2
Budget / Salary₹15,000–25,000
TypeFreelance project
LocationRemote
Posted2 hours ago
PROJECT TITLE: Android Notes Management and Online Test Application
PROJECT OVERVIEW
We are looking for a developer to build an Android application for educational notes management and online tests. The application will have two roles: Admin and User. Both dashboards must be available within the same Android application.
The admin will manage subjects, upload PDF notes, create MCQ tests, manage users, and view test results. Users can register, log in, download notes, study the materials, attend tests without a timer, and view their results.
1. ADMIN MODULE
Admin Login:
- Secure admin login and logout.
- Role-based access control.
- Admin-only dashboard access.
Admin Dashboard:
- Total registered users.
- Total subjects.
- Total uploaded notes.
- Total tests.
- Total test attempts.
- Recent test results.
Notes Management:
- Add and upload PDF notes.
- Enter notes title and description.
- Assign notes to subjects or categories.
- Edit and delete notes.
- Replace existing PDF files.
- View uploaded notes.
- Publish or deactivate notes.
Subject Management:
- Add subjects.
- Edit subject details.
- View all subjects.
- Delete or deactivate subjects.
Test Management:
- Create tests for different subjects.
- Add multiple-choice questions.
- Provide four answer options per question.
- Set correct answers.
- Assign marks to questions.
- Edit and delete questions.
- Publish or deactivate tests.
- No countdown timer.
User Management:
- View registered users.
- View user details.
- Activate or deactivate accounts.
- View individual user test history and scores.
Result Management:
- View all test results.
- View student names and scores.
- View correct and incorrect answers.
- Filter results by subject, test, or student.
2. USER MODULE
Registration and Login:
- User registration.
- Name, email, and password fields.
- Secure login and logout.
- Form validation.
- Duplicate email prevention.
- Appropriate error messages.
User Dashboard:
- Display available subjects.
- Display recently uploaded notes.
- Display available tests.
- Show completed tests and recent results.
Notes Management:
- View subjects and categories.
- Browse available notes.
- View notes titles and descriptions.
- Download PDF notes.
- Read downloaded notes using a suitable PDF viewer.
- Access previously downloaded PDFs offline.
Online Test:
- Display available tests.
- Show multiple-choice questions.
- Display answer options.
- Allow users to select and change answers before submission.
- Submit answers for evaluation.
- No timer.
- Show a confirmation message before final submission.
Automatic Result Calculation:
- Calculate marks automatically after submission.
- Display marks obtained and total marks.
- Display correct and incorrect answers.
- Display correct answers and explanations if configured by the admin.
- Save test results in the database.
Test History:
- View previous test attempts.
- View scores and submission dates.
- Open previous result summaries.
3. TECHNOLOGY STACK
Android Application:
- Java
- Android Studio
- XML layouts
- Retrofit for API communication
- Room or SQLite for appropriate local storage
Backend:
- Python
- Django
- Django REST Framework
- REST API
- Secure token-based authentication
Database:
- PostgreSQL
File Storage:
- Server storage or compatible cloud object storage.
- Secure PDF upload and download.
- File type and size validation.
Hosting:
- Hostinger VPS or another compatible VPS provider.
- Linux server.
- Nginx.
- Gunicorn.
- HTTPS with an SSL/TLS certificate.
- Domain and DNS configuration.
Version Control:
- Git and GitHub.
4. DATABASE REQUIREMENTS
The database should include the following tables or equivalent models:
Users: User ID, name, email, password hash, role, account status, registration date.
Subjects: Subject ID, subject name, description, status.
Notes: Notes ID, subject ID, title, description, PDF storage path, uploaded by, upload date, publication status.
Tests: Test ID, subject ID, title, description, total marks, publication status.
Questions: Question ID, test ID, question text, answer options, correct answer, marks, optional explanation.
Test Attempts: Attempt ID, user ID, test ID, submission date, score, total marks.
Student Answers: Answer ID, attempt ID, question ID, selected answer, correctness status, marks awarded.
Download Records (optional): Download ID, user ID, notes ID, download date.
5. SECURITY REQUIREMENTS
- Secure password hashing.
- Role-based authorization.
- HTTPS communication.
- Server-side validation.
- Protection against unauthorized admin access.
- Secure PDF download endpoints.
- File upload restrictions.
- SQL injection protection.
- Secure authentication token handling.
- Environment variables for secrets.
- Database backups.
- Appropriate error handling and logging.
Private PDF files must not be publicly accessible without authorization unless public access is explicitly required.
6. API REQUIREMENTS
The backend API should support:
- User registration and login.
- User profile management.
- Subject listing.
- Notes listing and details.
- PDF downloads.
- Admin notes management.
- Admin subject management.
- Test listing and test details.
- Question management.
- Test submission.
- Automatic result calculation.
- User test history.
- Admin result reports.
- Admin user management.
API documentation and sample requests must be provided.
7. UI AND DESIGN REQUIREMENTS
The Android application should include:
- Registration screen.
- Login screen.
- Admin dashboard.
- User dashboard.
- Subject listing.
- Notes listing.
- PDF download interface.
- Test instructions screen.
- MCQ test screen.
- Result screen.
- Test history screen.
The application should have a simple, modern, responsive interface with appropriate loading indicators, error messages, and success notifications.
Admin and User dashboards must have separate menus and permissions.
8. DEPLOYMENT REQUIREMENTS
- Configure the domain and DNS.
- Deploy the backend API.
- Configure the database.
- Configure PDF storage.
- Enable HTTPS.
- Connect the Android application to the production API.
- Test registration and login.
- Test PDF upload and download.
- Test question creation and submission.
- Verify automatic result calculation.
- Test the application on Android devices.
- Provide deployment documentation.
9. GOOGLE PLAY STORE PUBLISHING
The application must be prepared for Google Play Store submission.
Required deliverables include:
- Production Android App Bundle (AAB).
- App icon.
- Screenshots.
- App description.
- Privacy policy, where required.
- Store listing assets.
- Publishing assistance.
- Support for reasonable submission issues within the agreed scope.
The client will own the Google Play Developer account and pay the registration fee directly. Publication is subject to Google's review and applicable testing requirements. Approval cannot be guaranteed.
10. PROJECT DELIVERABLES
- Complete Android Studio source code.
- Complete backend source code.
- Database models and migrations.
- API documentation.
- Admin and User dashboard implementation.
- Deployment configuration.
- Git repository or source code handover.
- Production AAB file.
- Setup and deployment documentation.
- Basic testing report.
- Project handover instructions.
Source-code ownership and handover terms must be documented in the development agreement.
11. FEATURES OUTSIDE THE INITIAL SCOPE
Unless separately agreed, the following are excluded:
- iOS application.
- Payment gateway.
- Live classes or video streaming.
- Chat or messaging.
- AI-generated questions.
- Online proctoring.
- Countdown timer.
- Negative marking.
- Leaderboards.
- Subscription payments.
- Multiple languages.
- Advanced analytics.
Additional features can be quoted separately.
12. ESTIMATED BUDGET AND TIMELINE
Estimated development budget: ₹25,000–₹40,000.
Estimated development time: 3–5 weeks.
These are preliminary estimates. Final pricing depends on the approved UI, authentication, file storage, security, testing, deployment, and source-code handover requirements.
Infrastructure and external charges must be quoted separately:
- Domain registration.
- VPS or cloud hosting.
- Google Play Developer registration.
- Optional paid storage and backup services.
- Future maintenance.
13. ACCEPTANCE CRITERIA
The project will be considered complete when:
- Users can register and log in.
- Admins can securely log in.
- Each role can access only authorized features.
- Admins can upload, edit, and delete notes.
- Users can download and read PDFs.
- Admins can create subjects, tests, and questions.
- Users can attend tests without a timer.
- Answers are evaluated automatically.
- Results are saved and displayed correctly.
- Previous test results can be viewed.
- The production backend and database operate correctly.
- The Android application passes the agreed functional tests.
- Source code and deployment documentation are handed over.
14. CLIENT INFORMATION REQUIRED
Before development begins, the client must confirm:
- Final application name.
- Logo and branding.
- Expected number of students.
- Expected number and size of PDF files.
- Whether students can retake tests.
- Whether correct answers should be displayed immediately.
- Whether downloaded PDFs must remain accessible offline.
- Whether each subject can have multiple tests.
- Whether multiple administrators are required.
- Privacy policy requirements.
- Final budget and delivery deadline.
PROJECT OVERVIEW
We are looking for a developer to build an Android application for educational notes management and online tests. The application will have two roles: Admin and User. Both dashboards must be available within the same Android application.
The admin will manage subjects, upload PDF notes, create MCQ tests, manage users, and view test results. Users can register, log in, download notes, study the materials, attend tests without a timer, and view their results.
1. ADMIN MODULE
Admin Login:
- Secure admin login and logout.
- Role-based access control.
- Admin-only dashboard access.
Admin Dashboard:
- Total registered users.
- Total subjects.
- Total uploaded notes.
- Total tests.
- Total test attempts.
- Recent test results.
Notes Management:
- Add and upload PDF notes.
- Enter notes title and description.
- Assign notes to subjects or categories.
- Edit and delete notes.
- Replace existing PDF files.
- View uploaded notes.
- Publish or deactivate notes.
Subject Management:
- Add subjects.
- Edit subject details.
- View all subjects.
- Delete or deactivate subjects.
Test Management:
- Create tests for different subjects.
- Add multiple-choice questions.
- Provide four answer options per question.
- Set correct answers.
- Assign marks to questions.
- Edit and delete questions.
- Publish or deactivate tests.
- No countdown timer.
User Management:
- View registered users.
- View user details.
- Activate or deactivate accounts.
- View individual user test history and scores.
Result Management:
- View all test results.
- View student names and scores.
- View correct and incorrect answers.
- Filter results by subject, test, or student.
2. USER MODULE
Registration and Login:
- User registration.
- Name, email, and password fields.
- Secure login and logout.
- Form validation.
- Duplicate email prevention.
- Appropriate error messages.
User Dashboard:
- Display available subjects.
- Display recently uploaded notes.
- Display available tests.
- Show completed tests and recent results.
Notes Management:
- View subjects and categories.
- Browse available notes.
- View notes titles and descriptions.
- Download PDF notes.
- Read downloaded notes using a suitable PDF viewer.
- Access previously downloaded PDFs offline.
Online Test:
- Display available tests.
- Show multiple-choice questions.
- Display answer options.
- Allow users to select and change answers before submission.
- Submit answers for evaluation.
- No timer.
- Show a confirmation message before final submission.
Automatic Result Calculation:
- Calculate marks automatically after submission.
- Display marks obtained and total marks.
- Display correct and incorrect answers.
- Display correct answers and explanations if configured by the admin.
- Save test results in the database.
Test History:
- View previous test attempts.
- View scores and submission dates.
- Open previous result summaries.
3. TECHNOLOGY STACK
Android Application:
- Java
- Android Studio
- XML layouts
- Retrofit for API communication
- Room or SQLite for appropriate local storage
Backend:
- Python
- Django
- Django REST Framework
- REST API
- Secure token-based authentication
Database:
- PostgreSQL
File Storage:
- Server storage or compatible cloud object storage.
- Secure PDF upload and download.
- File type and size validation.
Hosting:
- Hostinger VPS or another compatible VPS provider.
- Linux server.
- Nginx.
- Gunicorn.
- HTTPS with an SSL/TLS certificate.
- Domain and DNS configuration.
Version Control:
- Git and GitHub.
4. DATABASE REQUIREMENTS
The database should include the following tables or equivalent models:
Users: User ID, name, email, password hash, role, account status, registration date.
Subjects: Subject ID, subject name, description, status.
Notes: Notes ID, subject ID, title, description, PDF storage path, uploaded by, upload date, publication status.
Tests: Test ID, subject ID, title, description, total marks, publication status.
Questions: Question ID, test ID, question text, answer options, correct answer, marks, optional explanation.
Test Attempts: Attempt ID, user ID, test ID, submission date, score, total marks.
Student Answers: Answer ID, attempt ID, question ID, selected answer, correctness status, marks awarded.
Download Records (optional): Download ID, user ID, notes ID, download date.
5. SECURITY REQUIREMENTS
- Secure password hashing.
- Role-based authorization.
- HTTPS communication.
- Server-side validation.
- Protection against unauthorized admin access.
- Secure PDF download endpoints.
- File upload restrictions.
- SQL injection protection.
- Secure authentication token handling.
- Environment variables for secrets.
- Database backups.
- Appropriate error handling and logging.
Private PDF files must not be publicly accessible without authorization unless public access is explicitly required.
6. API REQUIREMENTS
The backend API should support:
- User registration and login.
- User profile management.
- Subject listing.
- Notes listing and details.
- PDF downloads.
- Admin notes management.
- Admin subject management.
- Test listing and test details.
- Question management.
- Test submission.
- Automatic result calculation.
- User test history.
- Admin result reports.
- Admin user management.
API documentation and sample requests must be provided.
7. UI AND DESIGN REQUIREMENTS
The Android application should include:
- Registration screen.
- Login screen.
- Admin dashboard.
- User dashboard.
- Subject listing.
- Notes listing.
- PDF download interface.
- Test instructions screen.
- MCQ test screen.
- Result screen.
- Test history screen.
The application should have a simple, modern, responsive interface with appropriate loading indicators, error messages, and success notifications.
Admin and User dashboards must have separate menus and permissions.
8. DEPLOYMENT REQUIREMENTS
- Configure the domain and DNS.
- Deploy the backend API.
- Configure the database.
- Configure PDF storage.
- Enable HTTPS.
- Connect the Android application to the production API.
- Test registration and login.
- Test PDF upload and download.
- Test question creation and submission.
- Verify automatic result calculation.
- Test the application on Android devices.
- Provide deployment documentation.
9. GOOGLE PLAY STORE PUBLISHING
The application must be prepared for Google Play Store submission.
Required deliverables include:
- Production Android App Bundle (AAB).
- App icon.
- Screenshots.
- App description.
- Privacy policy, where required.
- Store listing assets.
- Publishing assistance.
- Support for reasonable submission issues within the agreed scope.
The client will own the Google Play Developer account and pay the registration fee directly. Publication is subject to Google's review and applicable testing requirements. Approval cannot be guaranteed.
10. PROJECT DELIVERABLES
- Complete Android Studio source code.
- Complete backend source code.
- Database models and migrations.
- API documentation.
- Admin and User dashboard implementation.
- Deployment configuration.
- Git repository or source code handover.
- Production AAB file.
- Setup and deployment documentation.
- Basic testing report.
- Project handover instructions.
Source-code ownership and handover terms must be documented in the development agreement.
11. FEATURES OUTSIDE THE INITIAL SCOPE
Unless separately agreed, the following are excluded:
- iOS application.
- Payment gateway.
- Live classes or video streaming.
- Chat or messaging.
- AI-generated questions.
- Online proctoring.
- Countdown timer.
- Negative marking.
- Leaderboards.
- Subscription payments.
- Multiple languages.
- Advanced analytics.
Additional features can be quoted separately.
12. ESTIMATED BUDGET AND TIMELINE
Estimated development budget: ₹25,000–₹40,000.
Estimated development time: 3–5 weeks.
These are preliminary estimates. Final pricing depends on the approved UI, authentication, file storage, security, testing, deployment, and source-code handover requirements.
Infrastructure and external charges must be quoted separately:
- Domain registration.
- VPS or cloud hosting.
- Google Play Developer registration.
- Optional paid storage and backup services.
- Future maintenance.
13. ACCEPTANCE CRITERIA
The project will be considered complete when:
- Users can register and log in.
- Admins can securely log in.
- Each role can access only authorized features.
- Admins can upload, edit, and delete notes.
- Users can download and read PDFs.
- Admins can create subjects, tests, and questions.
- Users can attend tests without a timer.
- Answers are evaluated automatically.
- Results are saved and displayed correctly.
- Previous test results can be viewed.
- The production backend and database operate correctly.
- The Android application passes the agreed functional tests.
- Source code and deployment documentation are handed over.
14. CLIENT INFORMATION REQUIRED
Before development begins, the client must confirm:
- Final application name.
- Logo and branding.
- Expected number of students.
- Expected number and size of PDF files.
- Whether students can retake tests.
- Whether correct answers should be displayed immediately.
- Whether downloaded PDFs must remain accessible offline.
- Whether each subject can have multiple tests.
- Whether multiple administrators are required.
- Privacy policy requirements.
- Final budget and delivery deadline.
Apply on Freelancer →
Project sourced from Freelancer.com. Applications happen directly on the original platform — we never collect your data.