DEV Community

Cover image for One opensource tool for all your API needs: APIC
Bijay Dash
Bijay Dash

Posted on • Edited on

One opensource tool for all your API needs: APIC

Yes you heard it right. One opensource tool for all your API needs. The tool is APIC. You might think that's a bold claim to say APIC is the tool you need for everything API, well lets see how APIC lives up to these claim.

APIC is a free open-source solution that can help you in API Designing, API Testing (even during designing), API Documentation, Simulating your API response for the frontent team etc.

A typical API development cycle involves the following steps.

  1. API design
  2. API API development
  3. API Testing
  4. API Integration

And APIC can help you with each of these steps. Lets start with API Designing.

API Designing

If you are in a team that follows the Design first strategy for API development then Your API life-cycle starts with API Designing.

In this step you would first define a contract for your API with Swagger Editor (as this is the widely accepted standard). Unless you don't like writing your API design in a text editor OR you are not familiar with the Swagger Specification.

Enter APIC. With APIC's API Designer, defining your API is as simple as filling a form. The API designer can help you with

  1. Defining your API endpoints, request parameters, request headers and response schema. More here
    Alt Text

  2. Defining reusable model definitions.More here
    Alt Text

  3. You can also start writing tests for your APIs even during API designing. And the best part is you can do that even without writing a single line of code just from the UI. Know more here.

  4. Create a team and share with everyone.

Now that your API contract is defined your backend team can start the development, but what about the frontend team. Well they can immediately start using the APIs by using the API Simulator provided by APIC. No more waiting.

API Testing

If you designed your APIs in APIC, they are automatically available for your team to test in the API Tester section. Your developers/testers won't have to import it again to (say Postman) to start testing.

Things you can do with the API tester

  1. Obviously test your APIs
  2. Test Web Sockets, Socket.io, STOMP and Server Sent Events (SSE)
  3. Using Environment variables to switch between environments like local, Dev, QA, Pre-prod etc.
  4. Response schema validation as per your API design.
  5. Add tests to your APIs directly from the response or if you want to get more technical use Chai.js to write tests.
  6. Create Test Projects and Test Suites to test various API scenarios and export test report.
  7. Add your Test Suites to your CI/CD platform with apic-cli. Alt Text
  8. Capture APIs from real user sessions using APIC directly from devtools or export your network requests as HAR files and import into your test suites. Alt Text

API Documentation

Once your API design is done APIC automatically converts your APIs designs into beautiful functional documentations that will help others to get on board faster. You can even share it with the world by publishing it online with APIC.

And many more exciting features

A few more worth mentioning features are

  1. Free teams and sharing feature
  2. Real-time update of changes made to API projects/Tests among team members.
  3. Importing/Export of everything you have created in APIC.
  4. No need to install anything. Available as a web app. But also available as Chrome extension, Windows exe and Mac dmg.

And the best part; its free and opensource. To live upto the claim that this is the only tool you will need for all your API needs I have made apic opensource and hoping to get the community excited about this and start contributing.

Sounds interesting? Head over to our Github page to contribute. The current version is developed in angular-js but an angular version is in the works.

Hope you will like what I have done so far. Would love to hear your feedback here.

Top comments (11)

Collapse
 
shilpam03 profile image
Shilpa Mishra • Edited

Looks really cool. Did try to use it as well, gives so much flexibility. Keep it up, well done!!

Collapse
 
gdahboy profile image
gdahboy

i like it really .. good work

Collapse
 
bjdash profile image
Bijay Dash

Thanks

Collapse
 
uf4no profile image
Antonio

It looks great. I've used IBM API Connect in the past which had some of these features but it was a pain to use as it had too many options. I'll try APIC in the future 🤙

Collapse
 
bjdash profile image
Bijay Dash

Thank you

Collapse
 
halldorstefans profile image
Halldor Stefansson • Edited

Looks really cool, well done!

Collapse
 
bjdash profile image
Bijay Dash

Thank you

Collapse
 
stereoplegic profile image
Mike Bybee

Nice job, man! Looks promising!

Collapse
 
bjdash profile image
Bijay Dash

Thanks

Collapse
 
splunkdevabhi profile image
Abhishek Shukla

Looks amazing Bijay. Testing it on Mac and Chrome OS for now. Looking forward for the Linux release .

Collapse
 
sujaykundu777 profile image
Sujay Kundu

Hi, Can you add the local development guide!