Skip to content

Commit

Permalink
rebase
Browse files Browse the repository at this point in the history
  • Loading branch information
simonsan committed Aug 20, 2023
1 parent dfd4545 commit c40f195
Show file tree
Hide file tree
Showing 4 changed files with 522 additions and 0 deletions.
132 changes: 132 additions & 0 deletions docs/design/personas.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
# Personas

## 1. **Sophie - The Small Business Owner**

- **Age:** 32
- **Background:** Owns a small e-commerce website.
- **Tech-savviness:** Moderate; familiar with basic software and e-commerce
tools.
- **Needs:** A reliable backup system, easy-to-use interface, and affordable
rates.
- **Pain Points:** Previous backup solutions were too complicated or pricey.
Lost data once due to a failed backup.
- **Goals:** Ensure that all her business data is backed up securely, easily
retrieve data when needed.

## 2. **Arjun - The IT Manager**

- **Age:** 41
- **Background:** IT Manager for a mid-size company with 200+ employees.
- **Tech-savviness:** High; knows ins and outs of most enterprise software.
- **Needs:** A scalable backup solution, deduplication to save space, advanced
security features.
- **Pain Points:** Dealing with multiple backup tools for different types of
data, storage limitations.
- **Goals:** Centralize the backup process, ensure quick data restoration, and
streamline IT operations.

## 3. **Elena - The Freelancer**

- **Age:** 29
- **Background:** Freelance graphic designer.
- **Tech-savviness:** Moderate; uses specific tools for her design work.
- **Needs:** A simple backup solution that can handle large files, automatic
backups.
- **Pain Points:** Lost a project once due to a hard drive crash, cloud storage
subscriptions becoming too expensive.
- **Goals:** Protect her portfolio and client projects, ensure she doesn't lose
time redoing lost work.

## 4. **Martin - The Retiree**

- **Age:** 67
- **Background:** Retired school principal, now writes memoirs and short
stories.
- **Tech-savviness:** Basic; uses a computer primarily for word processing and
web browsing.
- **Needs:** A straightforward backup tool, clear instructions, preferably with
visual guides.
- **Pain Points:** Complicated tech jargon, fears of losing his writings.
- **Goals:** Keep his digital memories and writings safe for future generations.

## 5. **Nadia - The Academic Researcher**

- **Age:** 35
- **Background:** PhD in Biology, conducts extensive research with large
datasets.
- **Tech-savviness:** Moderate-to-High; adept with research tools and databases.
- **Needs:** A backup solution that can handle diverse file types, easy data
retrieval, metadata preservation.
- **Pain Points:** Managing diverse datasets, ensuring long-term data
preservation.
- **Goals:** Secure her research, share datasets without loss of fidelity,
compliance with academic data storage norms.

## 6. **Liam - The Digital Artist**

- **Age:** 23
- **Background:** Digital artist and animator who regularly works on large
projects.
- **Tech-savviness:** High; familiar with advanced design tools and software.
- **Needs:** A backup system that supports large file formats, auto-syncing, and
version control.
- **Pain Points:** Slow upload speeds, backup solutions not supporting all file
formats.
- **Goals:** Protect his art, easily retrieve older versions of his work.

## 7. **Maria - The Non-Profit Organizer**

- **Age:** 45
- **Background:** Runs a non-profit focused on education for underprivileged
children.
- **Tech-savviness:** Moderate; basic office software and social media.
- **Needs:** Affordable backup solutions, secure storage for donor data, easy
collaboration tools.
- **Pain Points:** Limited budget, ensuring data privacy.
- **Goals:** Keep organizational data safe, access backups from remote
locations.

## 8. **Takumi - The Independent Game Developer**

- **Age:** 28
- **Background:** Develops indie games, works from home.
- **Tech-savviness:** Very high; proficient in various programming languages and
game engines.
- **Needs:** Large storage capacities, high-speed backups, integration with
development environments.
- **Pain Points:** Version conflicts, loss of game assets or code.
- **Goals:** Streamlined development process, protection against data loss.

## 9. **Fatima - The College Student**

- **Age:** 20
- **Background:** Studying Computer Science.
- **Tech-savviness:** Moderate-to-high; regularly uses coding platforms and
academic tools.
- **Needs:** Affordable backup solutions, mobile access to backups.
- **Pain Points:** Previous backup solutions were too complicated or unreliable.
- **Goals:** Secure academic projects, quick data restoration during exam times.

## 10. **Albert - The Travel Blogger**

- **Age:** 38
- **Background:** Travels the world and documents his experiences through photos
and writing.
- **Tech-savviness:** Moderate; skilled in content creation tools.
- **Needs:** Backup solutions accessible from different parts of the world,
mobile-friendly.
- **Pain Points:** Lost photos/videos from past trips, connectivity issues.
- **Goals:** Safeguard memories, quick uploads even from remote areas.

## 11. **Aisha - The Integrative Developer**

- **Age**: 28
- **Background**: Software Developer at a mid-sized tech company
- **Tech-savviness**: Advanced
- **Needs**: Robust and reliable library, clear documentation, integration
examples, extensive customization.
- **Pain Points**: poor documentation, integration conflicts, performance
issues.
- **Goals**: Aims to develop scalable and feature-rich applications. Seeks
reliable and efficient external libraries to enhance her software's
capabilities without reinventing the wheel.
124 changes: 124 additions & 0 deletions docs/design/requirements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
# Requirements

1. **Automated Backup Scheduling**

- The system should allow for automated backups at specified intervals
(daily, weekly, monthly, etc.).

1. **Easy Restoration**

- Users should be able to quickly and easily restore data from the backups,
preferably with a one-click solution.

1. **Selective Backup**

- The solution should allow users to select specific data sets or files for
backup.

1. **Centralized Management Dashboard**

- A unified dashboard where users (especially those managing multiple
systems) can oversee all backups.

1. **User Access Control & Role-based Permissions**

- Different levels of access and permissions to ensure that data integrity
and security are maintained.

1. **Large File Handling without Compression Loss**

- The system should handle the backup of large files while maintaining their
original quality.

1. **Auto-sync Feature**

- A feature that automatically syncs and backs up directories or specified
data.

1. **Guided Backup Process**

- For users who are not tech-savvy, a step-by-step guide to backing up data.

1. **Efficient Deduplication Process**

- To ensure storage is used efficiently by avoiding duplicate backups of
identical files.

1. **Shareable Backup Links**

- Generation of secure links to backup datasets/files for sharing.

1. **Version Control**

- The system should keep track of different versions of backed-up files,
allowing users to revert if needed.

1. **Bulk Backup**

- Allow users to backup large sets of data or entire directories at once.

1. **Strong Encryption and Data Security**

- All backed-up data, especially sensitive information, should be encrypted
and stored securely.

1. **Remote Access Capability**

- Users should be able to access the backup solution from different locations
or devices.

1. **Integration with Other Platforms**

- E.g., Code repositories, blogging platforms, etc.

1. **Rapid Data Recovery**

- Fast restore features for urgent data recovery needs.

1. **Offline Backup Queuing**

- Allow backups to be initiated offline and processed once connectivity is
available.

1. **High-speed Data Uploads**

- Efficiently handle and quickly upload large files or data sets.

1. **Documentation Clarity**

- The backup solution library should have clear and comprehensive
documentation. This will enable developers like Aisha to integrate the
library seamlessly.

1. **Customization Options**

- The library should provide a variety of settings and configurations that
developers can adjust, ensuring it fits various software's unique
requirements.

1. **Test Environment**

- The backup solution should offer a sandbox or test mode. This helps
developers to test the library's functionalities without affecting real
data.

1. **Active Support Community**

- An active forum or community where developers can post questions, share
experiences, and offer solutions. Quick response times are crucial.

1. **Error Handling**

- The library should be designed with robust error handling and should
provide descriptive error messages. This aids developers in diagnosing
integration or functionality issues.

1. **Compatibility**

- Ensure the core library is compatible with a range of programming languages
and frameworks to cater to a diverse developer base.

1. **Scalability**

- As software may grow and handle more data, the backup library should be
scalable to accommodate increasing data without performance bottlenecks.
Loading

0 comments on commit c40f195

Please sign in to comment.