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