| Full-Stack Developer Pre-Interview | |
| Assessment | |
| Objective | |
| The purpose of this assessment is to evaluate your ability to design, develop, host, and | |
| deliver a full-stack web application using Python for the backend, MySQL for the | |
| database, and a frontend stack of your choice. | |
| You will be assessed on functionality, deployment skills, code quality, database design, | |
| and documentation. | |
| Requirements | |
| 1. Frontend | |
| . You may use any frontend technology (HTML/CSS/JS, React, Angular, Vue, etc.). | |
| . The application should include: | |
| Sign-Up Page | |
| o Fields: Name, Age, Address, Email, Mobile Number, Password. | |
| o On successful signup, details must be stored in MySQL. | |
| o After signup, redirect to the login page. | |
| Login Page | |
| o Validate credentials against data stored in MySQL. | |
| o On success, redirect to the main dashboard. | |
| 2. Backend | |
| . Must be written only in Python. | |
| . You may use Flask, Django, FastAPI, or any Python web framework. | |
| . Must handle: | |
| Sign-up -> Store user details in MySQL. | |
| Login -> Validate credentials. | |
| File download -> Provide a test file for download (static or generated). | |
| File upload -> Two fields, restricted to PDF, PNG, or JPEG. | |
| 3. File Handling | |
| . Uploaded files should be: | |
| Restricted to PDF, PNG, or JPEG. | |
| Stored in a directory on the server where the backend is hosted. | |
| Saved with filenames including the user's name (from login). | |
| 4. Database | |
| . Must use MySQL. | |
| . Should store: | |
| User details (from sign-up). | |
| Uploaded file metadata (filename, file type, upload timestamp, user | |
| association). | |
| Non-Functional Requirements | |
| . Code must be modular, clean, and documented. | |
| . Include error handling for invalid inputs and file types. | |
| . Apply basic security best practices (password hashing, input validation). | |
| . The application must be hosted on a platform of your choice (e.g., Vercel, Netify, | |
| Render, AWS, GCP, Azure etc.). | |
| . The application must be publicly accessible through a link. | |
| Deliverables | |
| 1. GitHub Repository containing: | |
| Source code (frontend + backend). | |
| Database schema (SQL file or migration). | |
| A README.md with: | |
| o Local setup instructions. | |
| o Hosting details (platform used + deployed link). | |
| o Database setup. | |
| o Any assumptions made. | |
| 2. Publicly accessible application URL (hosted version). | |
| Time Limit | |
| You have 3 days to complete and submit your solution. | |
| Submission Guidelines | |
| . Share the GitHub repository link. | |
| . Share the hosted application link (must be publicly accessible). | |
| . Ensure setup instructions are clear for both local and hosted versions. | |
| Also, please refer to the videos provided in the following link, as we may ask questions | |
| based on them during the interview. | |
| https://documents.softmania.in/external/manual/appendix/article/links?p=8925397ddf | |
| 335351a1488377eefdb7c5522becd5be0e42b8c4706fc7e92f8faf |