Skip to content

Instantly share code, notes, and snippets.

@fredjoseph
Created November 24, 2021 19:22
Show Gist options
  • Save fredjoseph/4b78a58c646f22f2698ad2506c4ff649 to your computer and use it in GitHub Desktop.
Save fredjoseph/4b78a58c646f22f2698ad2506c4ff649 to your computer and use it in GitHub Desktop.
Json Server with faked data
  1. Crééer un projet npm à l'aide des fichiers package.json et index.js ci-joints
  2. Exécuter le projet pour générer un fichier Json contenant les données
node index.js > db.json
  1. Compiler l'image docker
docker build -t json-server .
  1. Lancer l'image docker
docker run --init --rm -p 3000:3000 -v `$pwd`:/data json-server --watch db.json
  1. Le serveur est lancé et est accessible sur http://localhost:3000
FROM node:alpine
LABEL org.opencontainers.image.authors="F. JOSEPH"
RUN \
echo "==> Install app..." && \
npm install -g --production json-server && \
\
\
echo "==> Remove unused temp..." && \
rm -rf /root/.npm \
/usr/lib/node_modules/npm
# configure
EXPOSE 3000
VOLUME [ "/data" ]
WORKDIR /data
# Define default command.
ENTRYPOINT ["json-server", "--host", "0.0.0.0"]
CMD ["--help"]
const faker = require('faker');
faker.locale = "fr";
let database = { users: []};
const threshold = 1000;
for (let i = 1; i<= threshold; i++) {
const gender = faker.name.gender(true);
const firstName = faker.name.firstName(gender);
const lastName = faker.name.lastName(gender);
database.users.push({
id: faker.datatype.uuid(),
firstName,
lastName,
job: faker.name.jobType(),
phone: faker.phone.phoneNumber(),
userName: faker.internet.userName(firstName, lastName),
email: faker.internet.email(firstName, lastName),
// You can also use faker.image.people() for image
//image: "https://source.unsplash.com/248x248/?user",
image: faker.image.dataUri('80px', '80px', faker.internet.color()),
country: faker.address.country()
});
}
console.log(JSON.stringify(database));
{
"name": "fake-data-generator",
"version": "1.0.0",
"description": "",
"main": "index.js",
"author": "F.JOSEPH",
"license": "ISC",
"dependencies": {
"faker": "^5.5.3"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment