| 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 |