An open API service indexing awesome lists of open source software.

https://github.com/ridwanullahi-code/countriesapi


https://github.com/ridwanullahi-code/countriesapi

Last synced: about 1 year ago
JSON representation

Awesome Lists containing this project

README

          

![CountriesAPI Logo](./countries.webp)

# 📗 Table of Contents

- [📖 About the Project](#about-project)
- [🛠 Built With](#built-with)
- [🚀 Live Demo](#live-demo)
- [💻 Getting Started](#getting-started)
- [Setup](#setup)
- [Prerequisites](#prerequisites)
- [Install](#install)
- [Usage](#usage)
- [Run tests](#run-tests)
- [Deployment](#triangular_flag_on_post-deployment)
- [👥 Authors](#authors)
- [🔭 Future Features](#future-features)
- [🤝 Contributing](#contributing)
- [⭐️ Show your support](#support)
- [🙏 Acknowledgements](#acknowledgements)
- [❓ FAQ](#faq)
- [📝 License](#license)

# 📖 CountriesAPI

CountriesAPI is a robust and user-friendly API designed to provide comprehensive information about countries worldwide. Whether you're a developer building a global application, a researcher analyzing international trends, or an enthusiast curious about different cultures, CountriesAPI offers easy access to a wealth of country data.

## 🛠 Built With

### Tech Stack

Server

## Base URL

The base URL for the CountriesAPI is:

https://countriesapi-production-3385.up.railway.app

### Retrieve All Countries
To retrieve all countries, send a GET request to the following endpoint:

```sh
https://countriesapi-production-3385.up.railway.app/countries
```

For detailed information on available endpoints and how to use them, please refer to the [API documentation](https://app.swaggerhub.com/apis-docs/RIDWANULLAHIAJAYI01/country-api/1.0.0)

## 🚀 Live Demo

- Explore the demo of CountriesAPI to see it in action! [Live Demo Link](https://app.swaggerhub.com/apis-docs/RIDWANULLAHIAJAYI01/country-api/1.0.0)

## Key Features

CountriesAPI offers a wide range of features to meet your needs:

- **Comprehensive Data**: Access detailed information about countries, including demographics, geography, economy, and more.
- **Flexible Querying**: Search and filter countries based on various criteria such as population size, GDP, region, and language.
- **Localized Information**: Retrieve data in multiple languages and currencies to support global applications.
- **Scalable and Performant**: Built with scalability in mind, ensuring fast response times even with large datasets.
- **Developer-Friendly**: Easy-to-use API endpoints with clear documentation and code examples for seamless integration.

With CountriesAPI, you have everything you need to build powerful applications with global reach. Whether you're developing a travel app, conducting research, or simply exploring the world, CountriesAPI is your go-to resource for accurate and up-to-date country information.

## 💻 Getting Started

To get a local copy up and running, follow these steps.

### Prerequisites

To get started with the Country API, make sure you have the following prerequisites installed:

- **Node.js**: Ensure that you have Node.js installed on your system. You can download it from the [official Node.js website](https://nodejs.org/).

- **PostgreSQL** (Optional): If you plan to use a database with the API, PostgreSQL is recommended. You can download it from the [official PostgreSQL website](https://www.postgresql.org/download/).

### Setup

Clone this repository to your desired folder:

```sh
git clone https://github.com/Ridwanullahi-code/CountriesAPI.git
```

### Change Directory

```sh
cd CountriesAPI
```

### Install

```sh
npm install
```

### Database Migration

```sh
npm run migrate:init
```

### Usage

```sh
npm start
```
### Run tests

```sh
npm test
```
### Deployment

## 👥 Authors

👤 **Author1**

- GitHub: [@githubhandle](https://github.com/Ridwanullahi-code)
- Twitter: [@twitterhandle](https://twitter.com/Ridwanullahi22)
- LinkedIn: [LinkedIn](https://www.linkedin.com/in/ajayi-ridwan/)

## 🔭 Future Features

- **Implement endpoint for retrieving country details by name**
- **Add authentication for certain endpoints**
- **Integrate caching mechanism to improve performance**

## 🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page. [issues page](../../issues/).

## ⭐️ Show your support

Please share this project with your classmates and Star this repository by clicking on ⭐ button above.

## 🙏 Acknowledgments

I would like to thank all my classmates who contributed to the development of this project.

## ❓ FAQ

- ### How can I contribute to the CountriesAPI project?
>- You can contribute to the project by submitting bug reports, feature requests, or pull requests. We welcome any contributions that can improve the project.

- ### Is the CountriesAPI project free to use?
>- Yes, the CountriesAPI project is free to use for both personal and commercial purposes. However, we appreciate if you credit us when using the API in your projects.

- ### Can I request a new feature for the CountriesAPI project?
>- Absolutely! We encourage users to suggest new features that can enhance the functionality of the API. Feel free to open an issue on GitHub with your feature request.

- ### How often is the data in the CountriesAPI project updated?
>- The data in the CountriesAPI project is updated regularly to ensure accuracy and completeness. We strive to provide the most up-to-date information about countries worldwide.

- ### Are there any rate limits for accessing the CountriesAPI project?
>- No, there are no rate limits for accessing the CountriesAPI project. You can make as many requests as you need without any restrictions.

- ### Where can I report bugs or issues with the CountriesAPI project?
>- You can report bugs or issues with the CountriesAPI project by opening an issue on GitHub. Please provide detailed information about the problem you encountered, including steps to reproduce it.

- ### Is there any documentation available for the CountriesAPI project?
>- Yes, we provide documentation for the CountriesAPI project to help users understand how to use the API and its endpoints. You can find the documentation in the main [website]().

## 📝 License

This project is [MIT](./LICENSE) licensed.

(back to top)