autorisation-d-absence-drs

byPascal Messou

Salut

LandingAuthorization Editor
Landing

Comments (0)

No comments yet. Be the first!

System Requirements

System Requirement Document
Page 1 of 5

System Requirements Document

Introduction

This document outlines the system requirements for the "Autorisation d’absence – DRS" application. The project aims to transform the existing application into a solution that operates on Windows PCs and Android devices, functioning locally and offline. The goal is to retain the current interface and functionalities without rewriting the application from scratch.

System Overview

The "Autorisation d’absence – DRS" application is designed to manage absence authorizations. It will be available as a Windows and Android application, capable of operating without an internet connection. The application will leverage existing code and infrastructure, focusing on local storage and offline capabilities.

Functional Requirements

Page 2 of 5

As a User:

  1. I want to use the application on both Windows and Android platforms without needing an internet connection.
  2. I want the application to retain the current interface and functionalities.
  3. I want the application to store data locally using localStorage.
  4. I want to generate PDFs locally using html2pdf.js.
  5. I want the application to function as a Progressive Web App (PWA) with offline capabilities.
  6. I want the application to remove or localize external dependencies, including Google Fonts and map components.
  7. I want to ensure the Service Worker supports offline functionality effectively.
  8. I want to be able to create, modify, and search for authorizations offline.
  9. I want to generate and save PDFs of authorizations offline.
  10. I want to ensure that data remains intact after closing and reopening the application offline.

As a Developer:

  1. I want to maintain the existing codebase and avoid rewriting the application from scratch.
  2. I want to ensure that all external resources are integrated directly into the application.
  3. I want to conduct real offline tests to validate the application's functionality.
  4. I want to ensure that the application is packaged for both Windows and Android after successful offline validation.
  5. I want to use React and TypeScript as the core technologies for the application.
  6. I want to use Vite for building the application.
  7. I want to use Tailwind CSS for styling the application.
  8. I want to ensure that the application uses Express for server-side operations.
  9. I want to follow a phased approach, creating a copy at each significant step.
  10. I want to perform targeted tests after each major modification.
  11. I want to ensure that no function is declared "OK" without real testing.
  12. I want to ensure that the application is not moved to Windows and Android until offline functionality is validated.

User Personas

Page 3 of 5

End User

  • Uses the application to manage absence authorizations on Windows and Android devices.
  • Requires offline functionality to access and modify data without internet connectivity.

Developer

  • Responsible for maintaining and enhancing the application.
  • Ensures the application meets technical and functional requirements.

Core User Flows

End User Flow

  1. Launch the application on a Windows PC or Android device.
  2. Access the main interface and navigate through the application.
  3. Create a new absence authorization.
  4. Modify an existing authorization.
  5. Search for specific authorizations.
  6. Generate a PDF of an authorization.
  7. Save the PDF locally.
  8. Close the application.
  9. Reopen the application and verify data integrity.
Page 4 of 5

Developer Flow

  1. Maintain the existing codebase.
  2. Integrate all external resources locally.
  3. Conduct offline tests to validate functionality.
  4. Package the application for Windows and Android.
  5. Perform targeted tests after each modification.
  6. Validate offline functionality before final deployment.

Visuals Colors and Theme

  • Utilize Tailwind CSS for styling.
  • Maintain a consistent and user-friendly interface across platforms.

Signature Design Concept

  • Retain the existing interface design to ensure user familiarity.

Interaction Model & Motion Direction

  • Follow standard interaction models for Windows and Android applications.
  • Ensure smooth transitions and responsive design.

Non-Functional Requirements

  • The application must operate efficiently without internet connectivity.
  • Data integrity must be maintained across sessions.
  • The application must be secure and protect user data.
Page 5 of 5

Tech Stack

  • Frontend: React, TypeScript
  • Build Tool: Vite
  • Styling: Tailwind CSS
  • Data Storage: localStorage
  • PDF Generation: html2pdf.js
  • PWA: manifest.json, Service Worker
  • Server: Express

Assumptions and Constraints

  • The application will not migrate to IndexedDB immediately due to current data volume.
  • The application must pass real offline tests before final deployment.
  • External dependencies must be removed or localized for offline functionality.

Glossary

  • PWA: Progressive Web App, a type of application software delivered through the web, built using common web technologies including HTML, CSS, and JavaScript.
  • Service Worker: A script that the browser runs in the background, separate from a web page, enabling features that don't need a web page or user interaction.
  • localStorage: A web storage object that stores data locally within the user's browser.
Landing design preview
Landing: Launch application
Dashboard: View main interface
Authorizations: Search authorizations
Authorization Editor: Create authorization
Authorization Editor: Modify authorization
Authorization PDF: Generate PDF
Authorization PDF: Save PDF locally
Authorizations: Verify data integrity
Landing design preview
Landing: Launch application
Dashboard: View main interface
Authorizations: Search authorizations
Authorization Editor: Create authorization
Authorization Editor: Modify authorization
Authorization PDF: Generate PDF
Authorization PDF: Save PDF locally
Authorizations: Verify data integrity