Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Export Report Functionality (CSV) #91

Open
7 of 8 tasks
hpmouton opened this issue Sep 16, 2024 · 0 comments
Open
7 of 8 tasks

Feature Request: Export Report Functionality (CSV) #91

hpmouton opened this issue Sep 16, 2024 · 0 comments
Assignees
Labels
bug Something isn't working

Comments

@hpmouton
Copy link
Contributor

hpmouton commented Sep 16, 2024

Feature Request: Export Report Functionality (CSV)

Issue Title: Add Export Report Functionality to Skills Audit Application

Issue Type: Feature Request

Description:
We need to implement the report export functionality in the Skills Audit tool. The feature will allow users (HR and Managers) to export employee skills data, including ratings and competency levels, in CSV format. The report should include the following columns:

  • Employee Name
  • Job Competency Profile (JCP)
  • Skill Name
  • Required Rating
  • Employee Rating
  • Supervisor Rating
  • Skill Status (At, Below, or Above Required Level)

Components:

  1. Frontend:

    • Create a new button on the report page for exporting data to CSV (Export to CSV button).
    • Ensure the button is only visible to authorized users.
    • Add a download link that triggers the CSV generation.
    • Apply UI feedback (loading spinner, success/failure notifications).
  2. Backend:

    • Create an API endpoint (GET /api/reports/export/csv) to handle the export request.
    • Query the database to fetch relevant employee, skill, and rating data based on filters (e.g., department, JCP).
    • Format the data into CSV.
    • Return the CSV as a downloadable file in the API response.

Acceptance Criteria:

  1. A new Export to CSV button is visible on the frontend report page.
  2. When the button is clicked, a CSV file with the required columns is generated and downloaded.
  3. Backend API processes the request, fetches data, and returns a properly formatted CSV file.
  4. CSV export should handle large datasets efficiently.
  5. CSV content should match the filters applied on the report page (e.g., specific department or competency profile).

Dependencies:

  • Frontend framework (React/Vue/Angular) for the UI implementation.
  • Laravel/PHP backend for API handling and CSV generation.

Task Breakdown:

  1. Frontend:

    • Design the Export to CSV button and integrate it into the report page.
    • Handle API call to the backend to fetch data.
    • Add notifications for success/failure and loading states.
    • Implement download functionality for the CSV file.
  2. Backend:

    • Create API route and controller for CSV export.
    • Query the database for relevant employee skills data.
    • Implement CSV generation logic (using PHP’s fputcsv or a library like League\Csv).
    • Return the CSV file in the response for download.

Additional Information:

  • CSV files should follow UTF-8 encoding to avoid issues with special characters.
  • Backend should ensure proper access control for the export feature.
@hpmouton hpmouton added the bug Something isn't working label Sep 16, 2024
@SKamesiepo SKamesiepo self-assigned this Sep 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants