This project was developed using PHP with the Laravel framework, integrating the Breeze package for authentication and session management. The frontend is powered by InertiaJS and Vue.js, ensuring a responsive and interactive user interface.
The authentication process has been customized. Unlike a standard email-password login mechanism which laravel already provides, the login page for this project only accepts the username 'Antigoni'. For a successful authentication, a password is programmatically assigned in the background to initiate the user session during the authentication process.
The database schema is designed to reflect the relationships within the application data in a more scalable manner. It consists of three primary tables:
- Games: Stores information related to various games / exercises.
- Applications: Holds records of the applications.
- Creators: Holds records of creators.
The 'Games' table has a many-to-one relationship with both the 'Applications' and 'Creators' tables. This relational design facilitates efficient data retrieval and manipulation.
Post-login, users are directed to the dashboard of the application. The dashboard presents data comprehensively, showing interconnected information between games, applications, and creators. A generic table component is used to display the data in a structured and user-friendly format, ensuring that the relationships and other information are clearly visible and easily accessible.
- Excel Importer: Integrate an Excel importer with a frontend interface to dynamically import games, applications, and creators. This feature would allow users to upload Excel files and seamlessly populate the database, enhancing the flexibility and user-friendliness of data management.
- The Rest of CRUD: Implement the full spectrum of CRUD (Create, Read, Update, Delete) functionalities. This addition would enable comprehensive data management directly from the dashboard, allowing users to not only view but also modify the table data as needed. Further improvements could include advanced validation, and user feedback mechanisms for each action.
- Advanced Search and Filtering: Implement an advanced search and filtering mechanism to navigate through the large datasets efficiently. This feature would allow users to filter data based on specific criteria, sort through records, and find the exact information they need with ease.
- User Role Management: Introduce a user role and permission system to manage access levels and functionalities based on user roles.
- Localization and Internationalization: Implement localization and internationalization to cater to a global audience by supporting multiple languages and regional settings.