Full Stack Developer Assignmnet - PanScience Innovations
Full Stack Developer Assignmnet - PanScience Innovations
Overview
Create a full-stack web application for a task management system using React for the frontend and
Node.js with Express or Django with DRF (or any backend framework of choice) for the backend.
The application should allow users to:
− Attach up to 3 documents (PDF format) to tasks and view those documents when viewing task
details.
− Filter and sort tasks based on status, priority, and due date.
Requirements
• Ensure users can only manage their own tasks unless they have an admin role.
FRONTEND REQUIREMENTS:
• Use React for the frontend.
• Implement Redux, Context API, or any state management library for state management.
BACKEND REQUIREMENTS:
• Implement RESTful APIs following best practices.
• Admin users should be able to create, edit, and delete any user.
• Tasks should have attributes: title, description, status, priority, due date, assigned to, and
attached documents.
• Implement filtering, sorting, and pagination when listing users and tasks.
DATABASE:
• Use PostgreSQL or MongoDB (Preferably Docker containers that can be run locally).
• Store file metadata in the database while keeping actual files in a storage solution (e.g., local
storage, AWS S3, Firebase Storage).
• Use feature branches and make pull requests for code reviews (optional).
• Ensure the application can run with a single command (docker-compose up).
• Write unit and integration tests for authentication and task management.
• Use Jest, Mocha, PyTest, or Cypress depending on the chosen tech stack.
DOCUMENTATION
DELIVERABLES
EVALUATION CRITERIA
SUBMISSION
Submit the GitHub repository link within 2 days from the assignment receipt.
You are encouraged to submit a working demo via a publicly accessible URL. While preferred, this is not
mandatory.