Practical REST API Backend Development Learning Kit
Node/Express: In good progress. Usable now. Python: Not started Go: Not started
- 4-July-2022:
detete
API added. Basic CRUD mocha test added. - 1-July-2022: node: upsert interface is available. Updated the npm module to remove all security audit issues.
- 30-June-2022: A good chunk of node.js/express is running now.
- 22-May-2022: The Docker image for test server is completed, and begin implementation of the node API functions.
This project will contain various REST API examples using Apache Tinkerpop Gremlin APIs using the example database and tutorials provided in Practical Gremlin authored by Kelvin Lawrence.
When I learn a new DB technology like Gremlin, the initial ramp up has been difficult because:
- I usually fail to connect to the database the first time,
- I usually can connect to the database but driver won't let me do much more than that,
- I usually fail to run my first query I write,
- I usually do not know how to map the database data to and from JSON from to the API or SDK of the database,
- I usually need something quick and simple to perform more query experiments.
I am sure you have had similar frustrations.
I will go through the steps of creating a new server from scratch in each of target platform, and will document any "gotchas" along the way.
If you are interested in developing server backends that need Gremlin access but do not know how and where to start, this might be the right starting point for you.
Yes, it is open, free and both your and my rights are protected under the Apache 2.0 License. If you do not or cannot agree with these license terms, then please do not use this project.
- Implement Python flask based server.
- Implement Scala and Play Framework based server.
- Implement GO based server.
-
A suitable Linux, Macintosh, or Windows desktop computer with a modern OS installed and 8 GB or more of memory installed. Most DB engines will consume some good chunk of memory,
-
This project will require my Air Routes Gremlin Server docker image. As such you need to have the docker, usually the
docker desktop
installed and then do the pull. (To be provided soon), -
A few gig of disk space,
-
Visual Studio Code (Please note that I use Jetbrains IDEs)
-
PostMan or other suitable REST API tool. This project is not intended to provide you with an "airline reservation" style UI.
-
Coffee, Tea, Soda or pure Water to keep you awake and hydrated.
- G DOT V is an excellent Graph IDE that I use to explore and maintain my Graphs.
Please do not use the data or results to plan your next trip to Rome, Taj Maher, or (a place of your choice). with this project. Do not provide such guidance resources on public internet based on this project. The airline industry can change routes, cancels flights against your wishes and change pricing and boarding priorities by the minute.
My details are provided in my GITHUB profile. Please contribute your fixes and improvements as Pull Requests and also bug reports on the project's GitHub page at https://github.com/imanabu/gremlin-air-routes-api