Skip to content

Feature Proposal - Admin Dashboard

Document Feature Proposal
Specification name Admin Dashboard
Author: Valeriia Grebneva
Version: 0.1
Date: 10.07.2023

Introduction

The admin dashboard is a feature of the Skill Collector app that provides an intuitive and secure interface for the process owner or administrator to manage users, generate hashes, send emails to the users, oversee survey responses, and access statistics through Power BI integration.

The primary objectives of the admin dashboard feature are as follows:

  1. Enable the process owner/admin to manage user accounts effectively.

  2. Provide a seamless process for generating unique hashes and sending email confirmations to users.

  3. Implement data privacy measures, including the ability to delete user data upon request.

  4. Offer a user-friendly interface for survey statistics visualization using Power BI integration.

Benefits

The admin dashboard feature offers several benefits to the process owner/admin and the overall functionality of the Skill Collector app:

  • Efficient User Management: The process owner/admin can easily create, update, and delete user accounts, granting appropriate access privileges.

  • Streamlined Hash Generation: The admin dashboard simplifies the process of generating unique hashes for user verification and email confirmation.

  • Enhanced Data Visualization: Integration with Power BI enables the process owner/admin to gain valuable insights through interactive and visually appealing survey response statistics.

  • Data Privacy Compliance: The feature ensures compliance with data privacy regulations by providing a mechanism to delete user data upon request.

Feature Overview

The admin dashboard feature encompasses the following key functionalities:

  1. User Management:
  • User Account Creation: The process owner/admin can create new user accounts with relevant details, assigning appropriate roles and permissions.

  • User Account Update: The admin dashboard allows the process owner/admin to modify user account information as needed.

  • User Account Deletion: Upon user request, the process owner/admin can securely delete user accounts and associated personal information from the database.

  1. Hash Generation and Email Confirmation:
  • Hash Generation: The admin dashboard provides a mechanism to generate unique hashes for user verification purposes. To generate the hash in the Admin Dashboard, cryptographic functions or libraries can be utilized.

  • Email Confirmation: The generated hash is sent to the user's email address to confirm their account and enable access to the Skill Collector app. To send emails to users with the generated hash in the Admin Dashboard, an integration with an email service or SMTP server can be implemented.

  1. Survey Response Statistics:
  • Power BI Integration: The admin dashboard integrates with Power BI to provide an interactive and insightful visualization of survey response statistics.

  • Real-time Data: The Power BI reports dynamically update with the latest survey response data from the database, allowing the process owner/admin to monitor trends and analyze user feedback effectively.

  1. Data Privacy:
  • Secure Data Handling: The feature ensures that user data is handled securely, following best practices and complying with data protection regulations.

Background

  1. Currently, the Skill Collector app lacks a secure and centralized method for handling personal data. User information, including personal emails, names, and company names, is stored in an Excel sheet on OneDrive. This storage method poses potential security risks and compromises data privacy.

  2. Hashes for user verification are manually generated by the process owner/admin. However, this manual process is prone to errors, inconsistencies, and potential security vulnerabilities. It also requires manual effort and can become time-consuming as the number of users increases.

  3. The existing data management process involves multiple sources and steps. Data is initially stored in an Excel sheet, and then Power Automate is used to update the corresponding hashes in the database. Power Automate is also responsible for sending confirmation emails to users. This fragmented approach increases the complexity of the system and makes it harder to maintain and track data integrity.

  4. Relying on an Excel sheet as the primary data storage solution is not suitable for the long term. Excel sheets are susceptible to manipulation, accidental deletion, or unauthorized access. As the data sets grow larger, managing and processing them within an Excel sheet becomes inefficient and impractical.

  5. Furthermore, the current system's reliance on cloud storage means that the Excel sheet must be online for Power Automate to establish a connection. This dependency on cloud accessibility adds a potential point of failure if there are issues with connectivity or availability.

  6. Data validation capabilities within the existing system are limited, making it challenging to ensure the accuracy, consistency, and integrity of user information and survey responses. Lack of proper data validation can lead to incomplete or erroneous data, affecting the reliability of the collected information.

The introduction of the Admin Dashboard feature addresses these challenges by providing a secure, centralized, and scalable solution for user management, hash generation, email confirmation, data storage, and robust data validation. It aims to streamline the data management process, enhance data security and privacy, improve data integrity, and facilitate efficient administration of the Skill Collector app.

User Stories

User Story ID Description Link to issue
US001 As a process owner/admin, I want to securely manage user accounts (add, delete or update).
US002 As a process owner/admin, I want to easily delete user accounts and associated personal information upon user request, ensuring compliance with data privacy regulations.
US003 As a process owner/admin, I want to have a centralized and secure data storage solution, eliminating the risks associated with storing data in an Excel sheet on OneDrive.
US004 As a process owner/admin, I want to ensure scalability of the system, enabling efficient handling of larger data sets without compromising performance.
US005 As a process owner/admin, I want to validate user data to ensure its accuracy, completeness, and integrity, maintaining high data quality standards.
US006 As a process owner/admin, I want to have a user-friendly interface in the Admin Dashboard, enabling intuitive navigation and ease of use.
US007 As a process owner/admin, I want to integrate Power BI with the Admin Dashboard, allowing seamless visualization and analysis of survey response data.

Functionality

Key Functionality and Behavior of the Admin Dashboard Feature:

  1. User Management:
  • The Admin Dashboard should provide a user-friendly interface for the process owner/admin to manage user accounts.

  • The process owner/admin should be able to create new user accounts by providing necessary details such as email.

  • The Admin Dashboard should allow the process owner/admin to update user account information.

  • The process owner/admin should have the ability to delete user accounts and associated personal information upon user request or as necessary.

  1. Hash Generation and Email Confirmation:
  • User Account Creation: When a process owner/admin creates a new user account through the Admin Dashboard, the system generates a unique identifier for that user.

  • Unique Identifier to Hash Conversion: The generated unique identifier is then passed through a cryptographic hash function (e.g., SHA-256) to generate a hash value. The hash function converts the unique identifier into a fixed-length hash, providing an additional layer of security.

  • Integration with Database: The generated hash is securely stored in the database along with the user account details. The database integration ensures that the hash is associated with the respective user account and can be retrieved when needed.

  • Email Confirmation: Once the hash is generated, the Admin Dashboard can trigger an email confirmation process. The integration with an email service (e.g., SMTP or API-based email service) allows the system to send an email to the user's provided email address. The email contains the generated hash and instructions for account verification.

The integration with the database ensures that the generated hash is stored securely and can be retrieved for verification during the login or authentication process. Additionally, the integration with the email service enables the Admin Dashboard to send confirmation emails with the generated hash to users.

  1. Survey Response Statistics:
  • The Admin Dashboard should integrate with Power BI to provide a seamless visualization of survey response statistics.

  • The Power BI integration should fetch the survey response data from the database and generate interactive and visually appealing reports.

  • The Admin Dashboard should display these reports within the interface, allowing the process owner/admin to analyze and interpret survey response trends, patterns, and insights.

  • The Power BI reports should update in real-time, reflecting the latest survey response data collected by the app.

  1. Data Privacy and User Deletion:

    • The Admin Dashboard should provide an option for users to request the deletion of their personal information from the database.

    • When a user requests deletion, the process owner/admin should be able to securely delete the user account and associated data.

    • The Admin Dashboard should ensure compliance with data privacy regulations by permanently removing the user's personal information from the database.

  2. Interaction with Existing Components or Modules:

  • The Admin Dashboard should interact with the user management module/component of the web app to create, update, and delete user accounts.

  • It should interact with the hash generation module/component to automatically generate and store unique hashes associated with each user account.

  • The Admin Dashboard should communicate with the email module/component to send email confirmations with the generated hashes to users.

  • Integration with Power BI should involve establishing a connection between the Admin Dashboard and the Power BI module/component to fetch survey response data and generate reports.

Overall, the Admin Dashboard should serve as a centralized hub within the Skill Collector app, providing efficient user management, automated hash generation, email confirmation, comprehensive survey response statistics, and data privacy controls. It should seamlessly interact with existing components and modules to deliver a cohesive and valuable user experience.

[Design and UI]

Describe any changes or additions to the user interface that may be required to accommodate the new feature. Include any design considerations or mockups if available.

Technical Implementation

Implementing the Admin Dashboard feature involves several technical aspects, architectural considerations, dependencies, and integration requirements. Here's an overview of the key technical aspects involved:

Architecture

The Admin Dashboard can be built using a multi-tier architecture, separating the presentation layer (UI/UX components), business logic layer, and data storage layer.

!p[picture of architecture]

Frontend Development

The frontend of the Admin Dashboard can be developed using modern web technologies such as HTML, CSS, and JavaScript. A frontend framework like React, Angular, or Vue.js can be used to create interactive UI components and manage state efficiently. UI libraries or component frameworks, such as Bootstrap, can be utilized to enhance the visual appearance and user experience.

Backend Development

The backend of the Admin Dashboard can be developed using a server-side programming language/framework such as Node.js with Express. The backend should handle user management, hash generation, data storage, and integration with external services. APIs can be designed and implemented to enable communication between the frontend and backend components.

Database

A reliable and scalable database system, such as PostgreSQL, MySQL, or MongoDB, can be utilized for storing user account details, generated hashes, and other relevant data. Proper database design, including normalization and data indexing, should be considered to ensure efficient data retrieval and storage.

Hash Generation

Cryptographic functions or libraries, such as SHA-256, can be used to generate the hash from the unique identifier. Appropriate salted hashes and secure storage practices should be implemented to protect the integrity and security of the generated hashes.

Email Service Integration

Integration with an email service provider, such as SendGrid, Mailgun, or AWS SES, can be implemented using their respective APIs. Alternatively, an SMTP server can be configured to handle the email sending process directly from the application.

Power BI Integration

Integration with Power BI can be achieved through the Power BI REST APIs or using available connectors provided by the Power BI platform. APIs can be utilized to fetch survey response data from the database and visualize it in Power BI reports and dashboards.

Data Privacy and Security

Proper data security measures should be implemented, including secure storage of sensitive data, encryption techniques, and adherence to data protection regulations. Authentication and authorization mechanisms should be in place to ensure access control and protect user data.

It is important to consider the specific technologies, frameworks, and APIs that align with the existing tech stack and requirements of the project. The choice of technologies and architectural decisions may vary based on factors such as development team expertise, scalability requirements, and project timeline.

Testing and Deployment

Thorough testing, including unit testing, integration testing, and end-to-end testing, should be conducted to ensure the quality and reliability of the Admin Dashboard. Continuous integration and deployment (CI/CD) practices can be adopted to automate the testing and deployment processes, ensuring efficient development cycles and faster release cycles.

Risks and Mitigation

  1. Risk: Misalignment with the process owner's initial requirements.

Mitigation: To minimize this risk, it is crucial to have clear and thorough communication with the process owner during the development phase. Regular meetings and feedback sessions should be conducted to ensure that the Admin Dashboard aligns with their expectations. Detailed documentation, wireframes, and prototypes can help in capturing and validating requirements accurately.

  1. Risk: Insufficient time to implement the feature before the project deadline.

Mitigation: It is essential to carefully estimate the development effort required for the Admin Dashboard feature and allocate sufficient resources accordingly. Prioritization and effective project management techniques, such as agile methodologies, can help in optimizing the development timeline. In case time constraints are severe, it may be necessary to adjust the scope or prioritize key functionalities to ensure timely delivery.

  1. Risk: Complexity and learning curve for the process owner in using the Admin Dashboard.

Mitigation: Providing comprehensive documentation and instructional materials, including user manuals or guides, can help mitigate this risk. Conducting training sessions or workshops for the process owner can also aid in familiarizing them with the Admin Dashboard's functionality. Additionally, designing an intuitive and user-friendly interface with clear navigation and tooltips can simplify the learning process.

  1. Risk: Dependencies on external services or components, such as Power BI or email providers.

Mitigation: It is crucial to thoroughly test the integration with external services and ensure proper error handling and fallback mechanisms. Having contingency plans in place for potential service disruptions or incompatibilities can help mitigate this risk. Exploring alternative solutions or backup options, such as alternative data visualization tools or backup email providers, can also minimize the impact of dependencies.

  1. Risk: Data security and privacy concerns.

Mitigation: Implementing robust security measures, such as encryption and secure data storage practices, can help protect user information and prevent unauthorized access. Adhering to industry-standard data privacy regulations, such as GDPR or CCPA, should be a priority. Regular security audits and vulnerability assessments can further mitigate risks associated with data security.

By identifying these risks and implementing appropriate mitigation strategies, the project team can proactively address potential challenges and ensure a smooth implementation of the Admin Dashboard feature.

Timeline

  1. Requirements Gathering and Design (1 week)
  • Conduct meetings with the process owner to gather detailed requirements and clarify expectations.

  • Collaborate with the UI/UX team to design wireframes and create a user-friendly interface for the Admin Dashboard.

  • Create a detailed functional design document outlining the feature's architecture, components, and interactions with existing modules.

  1. Backend Development (1 week)
  • Set up the necessary infrastructure, including database connections and server configurations.

  • Develop backend functionalities for user management, hash generation, and data storage.

  • Implement data validation and security measures to ensure data integrity and privacy.

  1. Frontend Development (1 week)
  • Develop the user interface for the Admin Dashboard based on the finalized design.

  • Implement interactive components, forms, and data visualization elements.

  • Integrate with existing components or modules of the web app for seamless data flow and interaction.

  1. Integration and Testing (1 week)
  • Integrate the Admin Dashboard with external services like Power BI and email providers.

  • Conduct comprehensive testing to ensure functionality, performance, and security.

  • Identify and fix any bugs or issues discovered during the testing phase.

  1. Documentation and Training (1 week)
  • Prepare detailed documentation, including user manuals and guides, for the process owner to understand the functionality and usage of the Admin Dashboard.

  • Conduct training sessions or workshops to familiarize the process owner with the features and capabilities of the Admin Dashboard.

  1. Deployment and Release (1 week)
  • Set up the production environment for the Admin Dashboard.

  • Deploy the feature to the live web app environment.

  • Conduct final testing and validation to ensure a smooth transition from the development environment to production.

  • Release the Admin Dashboard feature to the process owner for their use.

Conclusion

By incorporating the Admin Dashboard feature, the Skill Collector web app significantly enhances user experience, strengthens data security and privacy, provides valuable insights, ensures efficient administration, and promotes compliance with data privacy regulations. These benefits collectively contribute to the achievement of the business goals, including increased user engagement, optimized data management, and overall operational excellence.