GraphQL seems cool. Oracle database is cool. Let's combine them.
These materials go along with the Oracle Friday Stand-Up - Database Cloud Service Given by @sblack4. They are free to take and use but we provide no warranty per the MIT LICENSE but feel free to submit an issue or a pull request! I love solving problems and meeting other nerdy devs! ✌️
- Connect to Oracle Database with oracledb (a 🔥 database)
- Build SQL Queries with knex (think: ORM)
- Convert GraphQL and SQL with join monster (GraphQL <-> SQL translator)
- Serve the GraphQL with koa (basically express-lite)
- Visualize cool GraphQL browser with graphiql (execute graphql queries in the browser)
- Watch the recording of Oracle Friday Stand-Up - Database Cloud Service
- Clone this Repo with
git clone https://github.com/unofficialoraclecloudhub/oracledb-graphql-demo.git
- Head to unofficialoraclecloudhub.github.io/oracledb-graphql-demo/ and follow the directions in the docs
If you have docker, you can run database and the server
Docker images for Oracle Databse 12c and node 6 are provided in the Docker folder
The easiest way to build them is
cd Docker
docker-compose build
docker-compose up
$ tree -d -I node_modules
.
├── Docker # all the files and binaries to build
│ ├── db # the docker images
│ │ └── oracle-sql # one with oracle database xe 12c
│ └── web # the other with node 6 & the oracle instantclient libraries
├── docs # the docs static site (Gatsby)
│ ├── content
│ │ ├── lessons
│ │ └── posts
│ ├── data
│ ├── public
│ │ ├── about
│ │ ├── categories
│ │ │ └── tech
│ │ ├── lesson-five
│ │ ├── lesson-four
│ │ ├── lesson-one
│ │ ├── lesson-six
│ │ ├── lesson-three
│ │ ├── lesson-two
│ │ ├── logos
│ │ ├── post-one
│ │ └── static
│ ├── src
│ │ ├── components
│ │ │ ├── About
│ │ │ ├── Disqus
│ │ │ ├── Layout
│ │ │ ├── PostListing
│ │ │ ├── PostTags
│ │ │ └── SocialLinks
│ │ ├── layouts
│ │ │ └── css
│ │ ├── pages
│ │ └── templates
│ └── static
│ └── logos
└── src # the graphql app
├── common
├── data # you can do the same thing with sqlite
│ ├── demo-data-csv # and maybe postgres (I have not tested)
│ ├── postgress
│ └── sqllite
├── schema-basic
├── schema-paginated
└── test
45 directories
The open source community has been overly generous with software and documentation (as always)
Special thanks to
- oracle/node-oracledb (also known as just
oracledb
) - stems/join-monster-demo
- MaksymBilenko/docker-oracle-12c
- Github
- Gatsby