Skip to content

Demo webapp built with Jester, Norm, and Norman.

License

Notifications You must be signed in to change notification settings

moigagoo/shopapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Shop App with Karax, Jester, Norm, and Norman

This is a proof-of-concept for a webapp created with Karax for frontend, Jester for API server, Norm for ORM, and Norman for migration management.

Usage

  1. Clone the repo and cd into the repo dir:
$ git clone [email protected]:moigagoo/shop-api.git
$ cd shop-api
  1. Create .env from .env_example:
$ cp .env_example .env
  1. Build the image:
$ docker-compose build
  1. Start web service and enter the container:
$ docker-compose run --rm --service-ports web bash
  1. Apply the migrations:
$ norman migrate
  1. Run the app:
$ nimble run --deepcopy:on
  1. Open your browser at localhost:5000 and play around.
  2. Send requests to it in a separate terminal:
$ curl -s http://localhost:5000/api/customers/1 | jq
{
  "auth": {
    "email": "[email protected]",
    "googleToken": "",
    "id": 1
  },
  "name": "Alice 1",
  "age": 21,
  "id": 1
}

$ curl -s 'http://localhost:5000/api/customers/?page=3&per_page=2' | jq
[
  {
    "auth": {
      "email": "[email protected]",
      "googleToken": "",
      "id": 5
    },
    "name": "Alice 5",
    "age": 25,
    "id": 5
  },
  {
    "auth": {
      "email": "[email protected]",
      "googleToken": "",
      "id": 6
    },
    "name": "Alice 6",
    "age": 26,
    "id": 6
  }
]

$ curl -X DELETE -s http://localhost:5000/api/customers/2
$ curl -X POST --data '[email protected]&token=AbC123' http://localhost:5000/api/customers/
11

About

Demo webapp built with Jester, Norm, and Norman.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages