Static mock data
Static mock data (as opposed to randomly-generated mock data) for sample apps, demos, and POCs.
Features
- 100 mock employees, with names, addresses, phone numbers, etc.
- 100 mock projects, with names, dates, departments, employees assigned, etc.
- Full-size and thumbnail photos for each employee
- No dependencies
- Tested in Node.js and all modern web browsers on Mac, Windows, and Linux
- All data follows logical rules:
- Usernames, SSNs, addresses, etc. are unique
- Birthdates, hire dates, and termination dates are in proper chronological order
- Employee roles “make sense” (e.g. “full time” and “part time” are mutually exclusive)
- Employees are only assigned to projects in their own department
- Employees are only assigned to projects that occurred during their employment
Installation
npm install @jsdevtools/static-mock-data
Usage
The mock data can be used as plain JSON or as JavaScript objects.
Raw JSON
const employees = require("@jsdevtools/static-mock-data/employees.json");
for (let employee of employees) {
console.log(employee.dob); // date string
console.log(employee.portrait); // relative file path
}
JavaScript Objects
const mockData = require("@jsdevtools/static-mock-data");
for (let employee of mockData.employees) {
console.log(employee.dob); // Date object
console.log(employee.portrait); // absolute file path
}
Browser support
Static Mock Data supports recent versions of every major web browser. Older browsers may require Babel and/or polyfills.
To use Static Mock Data in a browser, you’ll need to use a bundling tool such as Webpack, Rollup, Parcel, or Browserify. Some bundlers may require a bit of configuration, such as setting browser: true
in rollup-plugin-resolve.
Employees
mockData.employees
is an array of objects with the following properties:
Property | Data Type | Description |
---|---|---|
username |
string | A alphanumeric username that is unique for each employee |
password |
string | An alphanumeric password |
name.first |
string | First name |
name.last |
string | Last name |
gender |
string | “male” or “female” |
portrait |
string | The path of the full-size portrait photo |
thumbnail |
string | The path of the thumbnail-size portrait photo |
email |
string | Email address |
address.street |
string | House number and street name |
address.city |
string | City name |
address.state |
string | U.S. state name (full name, not abbreviation) |
address.zip |
string | U.S. zip code, in the format ##### |
phones |
array of objects | Array of phone objects |
phones[].type |
string | “home”, “office”, or “cell” |
phones[].number |
string | Phone number, in the format ###-##-#### |
ssn |
string | U.S. Social Security Number, in the format ###-##-####. Unique for each employee. |
dob |
Date | Date of birth |
hiredOn |
Date | Date the employee was hired |
terminatedOn |
Date or null | Date the employee was terminated, or null if still employed |
department |
string | “Accounting”, “Sales”, “Human Resources”, or “Marketing” |
roles |
array of strings | Array of roles, such as “employee”, “consultant”, “part time”, etc. |
Projects
mockData.projects
is an array of objects with the following properties:
Property | Data Type | Description |
---|---|---|
id |
number | Numeric ID that is unique for each project |
name |
string | Project name that is unique for each project. 55 characters max. |
description |
string | Long project description. 2000 characters max |
department |
string | “Accounting”, “Sales”, “Human Resources”, or “Marketing” |
startedOn |
Date | Date that the project started |
endedOn |
Date or null | Date that the project ended, or null if still ongoing |
assigned |
array of strings | Array of usernames of employees who are assigned to the project. Projects will only have employees from the same department. |
Contributing
Contributions, enhancements, and bug-fixes are welcome! Open an issue on GitHub and submit a pull request.
Building
To build the project locally on your computer:
-
Clone this repo
git clone https://github.com/JS-DevTools/static-mock-data.git
-
Install dependencies
npm install
-
Run the build script
npm run build
-
Run the tests
npm test
License
All JSON data is MIT licensed and can be used however you want.
All images (employee portraits) are licensed under Creative Commons BY-NC-SA 4.0 and have some limitations on their use.
See the LICENSE file for more details.
Big Thanks To
Thanks to these awesome companies for their support of Open Source developers ❤