Hi,


Hi C��drick,

I think making something like jsonplaceholder would be quite easy.

Do you know about the Zinc-REST package/group ?

I knew but forget about it !


It contains an example in its tests, ZnExampleStorageRestServerDelegate with unit tests in ZnExampleStorageRestServerDelegateTest which implements a generic data storage. Have a look !

Will definitely look again at it. Is it using a json file as db too ? I guess that be easy to add if not. I���ll look at it soon.

Any feedback about faker ? That���d be a fun project to do in Pharo.
There are lots of them. I don���t know which one to look at more in detail (js, ruby, python, php... ?).
https://github.com/faker-ruby/faker
https://github.com/marak/Faker.js/
https://github.com/joke2k/faker 
���

Anybody knows what���s the most �� complete �� or elegant ?



BTW, recently I added ZnClient>>#forJsonREST, which uses either STONJSON (which is in the image) or NeoJSON (when loaded), so that you can more elegant code for this use case:


Uhm right, I always forget and use the old way (with #contentReader: ).


Thanks for the information Sven,

C��drick




ZnClient new
 url: 'https://jsonplaceholder.typicode.com/posts';
 forJsonREST;
 get.

ZnClient new
 url: 'https://jsonplaceholder.typicode.com/posts';
 forJsonREST;
 contents: { #title->'Test'. #body->String loremIpsum } asDictionary;
 post.

Sven

On 6 Jun 2020, at 09:44, C��drick B��ler <cdrick65@gmail.com> wrote:

Hi Sven and all,

Disclaimer: just another rather not important query (mainly for fun so don���t hesitate to tell me to use the node packages instead ;-) )

To show API to students, I sometimes use https://jsonplaceholder.typicode.com. It���s nice to play with client requests. I wonder if this would be interesting to have such tools in Pharo/Zn. Maybe it exists already somehow (for Teapot eventually) ?
https://medium.com/codingthesmartway-com-blog/create-a-rest-api-with-json-server-36da8680136d

From their GitHub, I discovered json-server + lowdb (based on lowdash) => all nodes packages.
https://github.com/typicode.

<GraphiqueColl��-6.tiff>

It uses a db file db.json and I like such simple �� databases ��. I know they're not real db.
https://github.com/typicode/lowdb

To me, it could nearly be to me an elegant personal db even if I think this is mostly used to test API���s.
Indeed, It���s often used in conjunction with node package faker (https://github.com/marak/Faker.js/ (https://github.com/marak/Faker.js/).
I would like to use that to generate static websites from Ecstatic.

The placeholder default website has limitations. For instance, the following request creates a new post (but then you cannot see the result if you query for posts just after)

<GraphiqueColle��-5.png>


I wanted to go past the limitation of the placeholder site (the db.json cannot be written). I can of course use the node package but you know :)  Might be not so straight to port though.

So there are probably three open questions in this post:
1)  lowdb (I know this is not a database but it���s handy and I���d like such usage in static website generation in conjunction with Ecstatic). Any already existing experiments maybe ? I don���t think Voyage can do that.
2)  the API json-server based on routes (maybe a job for Teapot) ?
3) the faker package as a fun exercice.

What others think ? My priority would go for having some kind of lowdb (and I���m pretty sure there are experiments around that - It reminds me a bit sandstonedb from Ramon http://onsmalltalk.com/sandstonedb-simple-activerecord-style-persistence-in-squeak.

Cheers,

C��drick