Simple Nodejs Express API using Lowdb a small JSON database.
- Node.js
$ npm install
Launches Express http server with nodemon
$ npm start
Launches an http request to your server with Axios
$ npm run api
npm run api
// fetch.js
const populate = number => api(`populate/${number}`, 'post')
// Uncoment wanted queries.
populate(50)
// getUsers()
// ...
// Expected output:
"users": [
{
"id": "9c2fc126-0766-42b2-b26d-032a3540e442",
"name": "Rawson",
"email": "Kristy.Gaylord33@gmail.com"
},
// 49 more...
]
npm run api
// fetch.js
const updateUser = (id, mutation) => api(`${id}`, 'put', mutation)
// Uncoment wanted queries.
updateUser("9c2fc126-0766-42b2-b26d-032a3540e442", { name: 'Paw', sex: 'Not found' })
// ...
// Expected output:
{
updatedUser: {
id: '9c2fc126-0766-42b2-b26d-032a3540e442',
name: 'Paw',
email: 'Kristy.Gaylord33@gmail.com',
sex: 'Not found'
}
}
it uses faker.js to generate random realistic data, make the wanted changes here.
// routes/users.js
router.post('/populate/:number', (req, res) => {
const { number } = req.params
for (let i = 0; i < number; i++) {
// Random fake data. more on https://www.npmjs.com/package/faker
const user = {
id: faker.random.uuid(),
name: faker.name.firstName(),
email: faker.internet.email(),
address: faker.address.direction(),
country: faker.address.county(),
phone: faker.phone.phoneNumber(),
vehicle: faker.vehicle.vehicle(),
model: faker.vehicle.model(),
color: faker.vehicle.color(),
avatarUrl: faker.image.avatar(),
bgImg: faker.image.nature()
}
db.get('users').push(user).write()
}
res.json({ message: 'users created!', 'users': db.get('users').value() })
})
MIT - PawFV.