apicrud-ui

0.0.42 • Public • Published

apicrud-ui

What is this

Skip the python/React.js learning curve and put your ideas in production!

The apicrud framework was created to make it far easier to get started on full-stack development of REST-based services ranging from a simple CLI wrapper for queries of local APIs to full web-scale consumer-facing applications.

The essential components of a modern full-stack application include a back-end API server, a front-end UI server, a database, a memory-cache and a background worker for performing actions such as emailing, photo uploading or report generation. This is the UI front-end.

Usage

Clone this repo to your local environment. To start this UI service in a shell session (on a Linux or Mac laptop):

  • Clone the instantlinux/apicrud repo to a separate directory and follow the instructions given in its README to start the back-end.
  • Set environment variables as defined below, at least REACT_APP_API_URL.
  • Invoke make ui_local to bring up the UI, and access by the URL http://localhost:3000.
  • Initial login for admin for a newly created database is p@ssw0rd.

Documentation for the API, defined in openapi.yaml in the instantlinux/apicrud application example (swagger format), can be viewed through the UI as http://localhost:8080/api/v1/ui.

Environment variables

Variable Default Description
PORT 3000 Port to listen on
REACT_APP_API_URL http://localhost:32080 Backend, e.g. https://api.yours.com:8080/api/v1
REACT_APP_TOKEN_MAPBOX API key for location map (see mapbox.com)

TODO: the published docker image won't read these values at startup until the implementation of env-config.js is completed.

Background

The rise of Docker and Kubernetes starting around 2017 made it possible to set up these production-grade services directly on the laptop of any developer. Only recently have the tools been easier to configure and set up. This framework provides working example code you can use to get started creating your own secure, web-scale services.

Implementation/design includes these technologies: celery, CloudFront and S3, docker, flask, kubernetes, MapQuest geocoding, mapbox, MariaDB, python 3, RabbitMQ, react.js, react-admin, sqlalchemy, uWSGI.

Contributions

Your pull-requests and bug-reports are welcome here. See CONTRIBUTING.md.

License

Software copyright © 2021 by Richard Braun • Apache 2.0 license

Readme

Keywords

Package Sidebar

Install

npm i apicrud-ui

Weekly Downloads

17

Version

0.0.42

License

Apache-2.0

Unpacked Size

242 kB

Total Files

46

Last publish

Collaborators

  • instantlinux