API sandbox - terrytaylorbonn/auxdrone GitHub Wiki
24.1221 (Gdrive)
I started the API sandbox project in September 2024. The sandbox demonstrates API and API doc tools. Recent examples (full list at Deployment history):
- 24.1207 safe-plateau-00795-90ec3e27e4a0.herokuapp.com/db/ (Django on Heroku, following Heroku's GS) (docx #131c)
- 24.1126: terra.ziptieai.net (http) (Django, Docker, ECS, EC2, using Terraform; will add SSL soon) (docx #235)
API sandbox overview:
- Why a sandbox? (short, mid, and long term goals)
- Deployment history (public URLs)
- API/API-doc examples
- Workflows
- "AI" (Copilot/ChatGPT)
- Github repos
- Gdrive docs
The 5 main sections of the API sandbox:
-
1 Dev local (gdrive).
- API docs: Swagger, Sphinx, Swashbuckle.
- APIs: Django, Flask, FastAPI, Netlify, Nextjs, Nestjs, Nodejs.
-
2 Deploy (gdrive).
- Deployments (not AWS): Gitbook, Railway, Scalar, Pythonanywhere, Docker, NGROK.
- AWS deployments: ec2, Lightsail, S3, Amplify, EBS, ECS, Fargate, AppRunner, Lambda.
- CI/CD, CodeCatalyst
-
3 API management
- API Connect (IBM), Mulesoft (Salesforce), Apigee (GCP), Kong, ...
-
4 Front ends
- Vue, React, Svelte, ... (or just a browser, Postman, or Swagger UI)
-
5 Other (gdrive).
- Git
- AWS certification
- https://www.youtube.com/playlist?list=PL5E1F5cTSTtQak06yjgt9tMb6LCa2Eq-0
- https://www.freepik.com/premium-vector/drone-icons-aerial-quadcopters-vehicles-silhouette-symbols-modern-unmanned-flying-drones-vector-illustration-set-aerial-quadcopters-technology-wireless-aircraft-with-remote-control_23564722.htm#fromView=keyword&page=1&position=30&uuid=1ec281a7-88c2-4b28-af5e-69c82f295c51
- https://www.youtube.com/watch?v=FYZ2wytNX4U
This part provides
- A refresher on the latest API / API-doc tools (that I have not used before).
- A big-picture hands-on presentation of API/API-doc topics (which I could not find anywhere).
Demo #220 (WIP) is currently the most complete demo.
Demo #220 code includes the following:
- Git repo AWS-Deployment
- Swagger (auto-generated, added manually to code, or created manually (editing a swagger file))
- Python (WSGI/Django)
- CI/CD setup (future)
2_#220_(OK)_django_deploy_to_ec2_ziptieai.net_ssl_LEGION_.docx (draft)
Left below is a diagram that shows the configuration (numbering matches the TOC above).
#120 is a combination of several docs (the original LEGION demo, ChatGPT directions, and SSL setup instructinos from #234).
24.1124 (Gdrive)
This is the latest part of this wiki (WIP started in Sept 2024):
- The goal
-
Demo deployments
- Main focus is on basic AWS deployments with ziptieai.xxx subdomains + SSL.
- Future deployments will focus on "filling out" with more advanced (1) APIs and (2) swagger docs.
-
1 APIs / API docs
- Create the basic APIs/docs using tools like NodeJS, FastApi, etc on localhost.
- Deployments on non-AWS sites (PythonAnywhere, Railway, etc) without a custom subdomain.
- 2 AWS (AWS is the main public platform of interest)
- 3 Code (GIt/Swagger/Python/Javascript/CICD)
- 2023 4th quarter: AI, drone simulation.
- 2024 1st half: AI drones. I successfully built and flew an AI drone without assistance. Along the way I mastered quite a bit of AI/drone tech.
Recommended recent links of interest:
-
24.1013 Epic 6 "Get a job". My focus for the foreseeable future.
-
AWS.
- 62.1 Learning approach / DVA-C02
- 62.2 Completed demos (videos) (demos I've done on my AWS account)
- 62.4 CodeCatalyst OK (awesome AWS CI/CD tool.. 3/3 demos worked on my aws)
- Python / Javascript (TODO).
- APIs / API docs.
-
AWS.
- 24.1014 62.4 AWS CodeCatalyst. With no prior experience, deployed 2 CI/CD pipelines in one day. Awesome tool.
https://youtu.be/FIQTPo359D8?list=PLzde74P_a04d1roElg9DPWm5Bmavhi_97&t=372
The following is a very rough first draft diagram (my collage), showing CI/CD from my perspective (what my focus is). I will refine this diagram as I get more hands on experience.
This is also a good one. I'm very interested in AWS pipelines as the center.
- add to #108 Felix // NodeJS Swagger API Documentation Tutorial Using Swagger JSDoc Maksim Ivanov https://www.youtube.com/watch?v=S8kmHtQeflo
-
(check this out) AWS API Gateway, Lambda and DynamoDB | REST API easy explanation and implementation Binod Suman Academy https://www.youtube.com/watch?v=Lg61ynrYCPw
-
Unit Testing in Python NeuralNine https://www.youtube.com/watch?v=UL0opWf3DeM