• Problem: COVID-19 has hit the world and the general population needs to be aware of the ongoing problem. Design a system for users to register and access how the pandemic has hit each country.
  • Scope: You're free to assume the attributes that the users of this system would take.
  • Technologies: Application should be built via TALL stack (Tailwind, Alpine.js, Laravel, and Livewire).
  • Login Fuctionality and Authentication System: The users should be able to log in using a username/password. Emails should be unique for each registration and an existing user email should not be allowed to be used for another registration. Create a user authentication system with ability to configure User Access Control and Permissions
  • View Upon Login: On login, the user should be able to see data for Cases in the world and India - Use API https://github.com/mathdroid/covid-19-api
    • UX to be built (You are free to modify/improve the UX, so long as it maintains full functionality): https://xd.adobe.com/view/06ab4c2a-358d-419f-a315-5f122eda50c0-53f8/.
    • Map Data: Further-on, Let's create India map visualizations using Data maps - http://datamaps.github.io/. We should see each state populated with the data from API (https://api.covid19india.org/state_district_wise.json) in the data map.
    • Placement of Details from API: The details of a country/world should be placed in cards: Active, Recovered, Deceased, and Total cases.
    • Functionality (Configurability and Preferences): Users should also be able to configure additional countries of their choice and the preferences should be saved in the database - when they log back in later, the stored list of countries along with world details should be shown
    • Authentication system should have at least three different roles:
      • Administrators:
        • With permission to have access to each page, ability to add, edit or delete each role, user, user permissions and country
        • Administrators should be able to link permissions to roles
        • Administrators should be able to link users to roles
      • Editors:
        • Editor access level should have permission to view, add or edit ONLY countries
        • Users / Roles / Permissions should be restricted from access
      • Viewer:
        • Viewer access level should be limited to only VIEW countries’ data ONLY
        • Any other functionality must be restricted
Laravel v9.12.2 (PHP v8.1.2)