Giter Site home page Giter Site logo

kauth / swagger-skroutz-api Goto Github PK

View Code? Open in Web Editor NEW
11.0 3.0 5.0 33 KB

The Skroutz API documented live with Swagger UI

Home Page: http://bit.ly/swagger-skroutz

License: Apache License 2.0

JavaScript 99.64% Shell 0.36%
nodejs swagger-ui swagger postman api skroutz

swagger-skroutz-api's Introduction

Linter GitHub license

Skroutz API Documentation on Swagger UI (unofficial)

The Skroutz API documented live with Swagger UI.

Project Goal

This project demonstrates how to convert documentation given as a Postman Collection (that is hosted online) to a Swagger formatted documentation (OpenAPI Specification), that is real-time updated according to the Postman Collection given in the beginning.

To visualize and interact with the documentation we use Swagger UI.

The technology the project is based on is Node.js.

Specific application

Skroutz.gr is a Comparison Shopping Engine (CSE) which evolved to an E-commerce Marketplace (it is considered the largest product price search engine in Greece).

Skoutz used to provide an official API (deprecated now). Their API documentation can be found, along with a list of all the example requests, as a Postman collection here.

In this project we periodically query the given documentation (in Postman format) to create and update a documentation in another format, with Swagger UI.

The project is deployed with Heroku and can be found online at http://bit.ly/swagger-skroutz.

You can find Skroutz on GitHub at https://github.com/skroutz.

Running the project

First, clone the repository from GitHub (e.g. git clone https://github.com/KAUTH/Swagger-Skroutz-API.git).

To run this project locally you need to have npm installed.

When deploying the project for the first time, install all the required packages by running the npm install command on a terminal in the root directory.

After that, to run the project use the npm start command.

The Swagger UI API documentation will then be accessible from http://localhost:8080/api/.

Important: There is 1 .env file (with environment variables) that our project uses, which is not on the repository for security reasons. In order for the project to run properly, you have to create your .env file in the same directory (root directory) that the .env.example file (example of how our .env file look like) is present in this repository.

Contributing

swagger-skroutz-api's People

Contributors

kauth avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

swagger-skroutz-api's Issues

UnhandledPromiseRejectionWarning: TypeError: body used already for PostmanCollection.js

(node:65623) UnhandledPromiseRejectionWarning: TypeError: body used already for: https://verve4.vervesys.com/lokaly_postman-collection.js

Getting above error after set our postmanCollection js https://verve4.vervesys.com/lokaly_postman-collection.js inside documentation.js file

async function createJSONFile() {
try {
console.log("ORDER OF EXECUTION: 7")

const response = await fetch('https://verve4.vervesys.com/lokaly_postman-collection.js')
const json = await response.json()

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.