Skip to content

An API developed with Django REST Framework that allows users to easily collect details about different tourist spots and register new points of interest along with their main attractions

License

Notifications You must be signed in to change notification settings

WandersoNoleto/TouristSpots-Api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

apresentation-tip

TouristSpots-API

About

This API empowers users to effortlessly gather details about various tourist spots and register new points of interest, along with their key attractions. Designed with travel guides in mind, it provides a seamless experience for creating comprehensive travel itineraries. Whether you're developing a travel app or crafting a digital travel guide, this API is your go-to solution for efficiently handling tourist information without the constraints of a pre-existing database. Additionally, it integrates with the Open Weather API to provide weather information for the tourist spots.

📋 Tecnologies and Tolls

  • Python
  • Django REST Framework
  • Open Weather API | click here for more details

Features

  • CRUD operations for tourist spots
  • Filtering tourist spots by city, state or country
  • Provide a location in latitude and longitude to search for nearby points
  • Get the current weather of a tourist spot
  • Get detailed weather or a summary for the next five days

Model

Below we have the Django ORM related to the tourist spot model: RecipeModel After being serialized, this is how the data travels via JSON:

{
	"id": 1,
	"name": "Sugarloaf Mountain",
	"description": "Sugarloaf Mountain is a peak situated in Rio de Janeiro, Brazil.",
	"resources": "Hiking trails, cable cars, breathtaking views",
	"city": "Rio de Janeiro",
	"state": "Rio de Janeiro",
	"country": "Brazil",
	"image": null,
	"latitude": -22.9519,
	"longitude": -43.1654
}

⚙️ Installation Guide

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

What things you need to install the software and how to install them

First, clone the repository

git clone https://github.com/WandersoNoleto/TouristSpots-Api.git

Install the dependencies listed in the requirements.txt file

pip install -r requirements.txt
🔑 Create a .env file and set the variables according to the .env.example.
🔑 To get an Open Weather API key click here

Generate a new Django key and assign it to SECRET_KEY (in Python CLI)

from django.core.management import utils
print(utils.get_random_secret_key())

Use the command to run the service

python3 manage.py runserver

🗺️ API Endpoints

HTTP Verbs Endpoints Action
GET /tourist-spots/ View all tourist spots / Filter: name, id, city, state and country
GET /tourist-spots/int:id/ View tourist spot details
POST /tourist-spots/ Register a new tourist spot
PATCH /tourist-spots/int:id/ To update tourist spot values
DELETE /tourist-spots/int:id/ Delete a tourist spot
GET /tourist-spots/nearby/ Provide latitude and longitude to search for nearby points / radius (optional)
GET /tourist-spots/weather/int:id/ To get a current weather data for a tourist spot
GET /tourist-spots/weather-5/int:id/ Get weather data for a tourist spot for the next 5 days (3 hours)
GET /tourist-spots/weather-5-summary/int:id/ Get weather summary data for a tourist spot for the next 5 days

About

An API developed with Django REST Framework that allows users to easily collect details about different tourist spots and register new points of interest along with their main attractions

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages