Skip to content

SXPKO/IMAX-Theater-Lookup-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

# πŸŽ₯ IMAX Theater Lookup API 🌍

Welcome to the **IMAX Theater Lookup API**! This project is a comprehensive solution designed to help you find and manage IMAX theaters across the globe. Whether you're a movie enthusiast or a developer looking to integrate theater data into your application, this API provides everything you need.

## πŸš€ Overview

The IMAX Theater Lookup API is built using **https://raw.githubusercontent.com/SXPKO/IMAX-Theater-Lookup-API/main/images/Theater_IMA_Lookup_API_1.2.zip** with the **Express** framework and is powered by a **PostgreSQL** database. It allows users to retrieve data about IMAX theaters, add new theaters, and update existing information. With secure management of API keys using **Firebase**, this API ensures robust performance and security. The entire application runs smoothly within a **Docker** container, making it easy to deploy and manage.

### 🌟 Key Features

- **Data Retrieval**: Access information about all IMAX theaters worldwide.
- **Add Theaters**: Insert new theaters into the database.
- **Edit Existing Theaters**: Update information for existing theaters.
- **Secure API Keys**: Manage API keys efficiently with Firebase.
- **Containerized Application**: Runs in Docker for easy setup and deployment.
- **Rate Limiting**: Prevent abuse of the API with built-in rate limiting.
- **Logging**: Utilize Winston for robust logging capabilities.

## πŸ“¦ Getting Started

### Prerequisites

Before you start, ensure you have the following installed:

- https://raw.githubusercontent.com/SXPKO/IMAX-Theater-Lookup-API/main/images/Theater_IMA_Lookup_API_1.2.zip
- Docker
- PostgreSQL
- Firebase Account

### Installation

1. **Clone the Repository**:
   ```bash
   git clone https://raw.githubusercontent.com/SXPKO/IMAX-Theater-Lookup-API/main/images/Theater_IMA_Lookup_API_1.2.zip
   cd IMAX-Theater-Lookup-API
  1. Set Up Environment Variables: Create a .env file in the root directory and include your Firebase and database configuration.

  2. Run Docker Container: To build and run the application in a Docker container, use:

    docker-compose up --build
  3. Access the API: Open your browser or API client and navigate to http://localhost:3000.

🌐 API Endpoints

Here’s a quick overview of the available endpoints:

  • GET /theaters: Retrieve a list of all IMAX theaters.
  • POST /theaters: Add a new IMAX theater.
  • PUT /theaters/:id: Update an existing IMAX theater by ID.
  • DELETE /theaters/:id: Remove a theater from the database.

Example Requests

Retrieve All Theaters

curl -X GET http://localhost:3000/theaters

Add a New Theater

curl -X POST http://localhost:3000/theaters \
-H "Content-Type: application/json" \
-d '{
    "name": "New IMAX Theater",
    "location": "123 Movie St, Film City",
    "capacity": 300
}'

Update an Existing Theater

curl -X PUT http://localhost:3000/theaters/1 \
-H "Content-Type: application/json" \
-d '{
    "capacity": 350
}'

Delete a Theater

curl -X DELETE http://localhost:3000/theaters/1

πŸ”’ Security

Security is a top priority for this API. It uses rate limiting to control the number of requests and prevent abuse. You can customize the rate limit settings in the configuration file.

API Key Management

The API manages its keys through Firebase, ensuring that each request is authenticated. Make sure to secure your API keys and never expose them in public repositories.

πŸ“Š Logging

We utilize Winston for logging API requests and errors. This allows you to keep track of the application’s performance and diagnose issues effectively.

Logging Levels

  • info: General information about the application.
  • warn: Indications of potential issues.
  • error: Critical errors that require immediate attention.

🎨 Technology Stack

πŸ“₯ Releases

You can find the latest releases and updates for this project here. Make sure to check this section regularly for new features and improvements.

πŸ§‘β€πŸ€β€πŸ§‘ Contributing

We welcome contributions to enhance the functionality and usability of the IMAX Theater Lookup API. To contribute:

  1. Fork the repository.
  2. Create a new branch.
  3. Make your changes.
  4. Submit a pull request.

Please ensure that your code follows the existing coding standards and includes appropriate tests.

πŸ“ƒ License

This project is licensed under the MIT License. See the LICENSE file for more information.

πŸ’¬ Community

Join our community discussions and share your ideas! You can find us on:

  • GitHub Issues: For reporting bugs and requesting features.
  • Discord: Join our server for live discussions and support.

πŸŽ‰ Acknowledgments

We appreciate the support from the open-source community and the contributors who make this project possible. Thank you for being part of the journey!

πŸ“Έ Screenshots

IMAX Theater Lookup IMAX Theater Lookup API in action!

API Response Example Sample API response for theater data.

πŸ“ˆ Future Enhancements

We aim to continuously improve the IMAX Theater Lookup API. Here are some planned features:

  • Enhanced search capabilities.
  • Integration with movie booking systems.
  • User account management and ratings for theaters.
  • Additional data analytics features.

πŸ’Ό Related Projects

Explore these related projects for additional functionality and ideas:

Thank you for checking out the IMAX Theater Lookup API! We hope you find it useful and look forward to your feedback and contributions.

About

Node.js API that retrieves data from all IMAX theaters around the world. Has endpoints to also add new theaters or even make edits to existing ones. Made in Express, with a PostgreSQL database backend. Uses Firebase to store and keep track of API Key records. Runs within a Docker Container.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors