Full Stack Developer Test Project: Task Management System with Deployment, User Roles, and Analytics

Objective: Develop a task management system that incorporates user authentication. Regular users should exclusively manage their tasks, while admins have oversight capabilities for all tasks. Admins should also have access to an analytics dashboard, harnessing Elasticsearch aggregation to review task statistics.

Functional Requirements:

  1. User Authentication:
  2. Frontend (ReactJS):
  3. Backend (Python with Django):
  4. Database (Elasticsearch):

Deployment:

  1. AWS or DigitalOcean:

Non-Functional Requirements:

  1. Responsive Design: Guarantee adaptability across both desktop and mobile platforms.
  2. Coding Standards: Uphold coding best practices including proper indentation, suitable naming conventions, and code modularity.
  3. Error Handling: Efficiently manage and report potential system errors.
  4. Documentation: Deliver a comprehensive README detailing aspects of setup, execution, and any associated nuances.

Bonus Points:

  1. SSL Implementation: Ensure application security with SSL through AWS Certificate Manager or Let's Encrypt with DigitalOcean.
  2. Admin Dashboard: Design a detailed analytics dashboard for admins, possibly leveraging Chart.js.
  3. Security Measures: Introduce rate limiting and defenses against brute-force attempts, particularly on login routes.

Submission Guidelines:

  1. Source Code: Provide a link on platforms such as GitHub or Bitbucket.