Orbital_EI is a fictional RESTful API designed for searching and ordering satellite images. It enables users to interact with a database of satellite imagery and place orders for specific images.
A production instance of Orbital_EI is running on Render. You can interact with the API using:
- cURL commands
- Your web browser
- Our Postman Collection (Postman account required)
Get orders filtered by payment method:
curl "https://orbital-ei.onrender.com/api/orders?paymentMethod=Credit%20Card"Search Sentinel-2 images within Seoul's area (bounding box filtering):
curl "https://orbital-ei.onrender.com/api/images?sensor=SEN2&bbox=126.850,37.438,127.138,37.651"Create a new order:
curl -X POST https://orbital-ei.onrender.com/api/orders \
  -H "Content-Type: application/json" \
  -d '{
    "image_id": 1,
    "customer_email": "[email protected]",
    "payment_method": "PayPal"
  }'Before getting started, ensure you have installed:
- 
Clone the repository: git clone https://github.com/antonylion/orbital_ei.git cd orbital_ei
- 
Create an environment file: # Create .env file in project root with the following content: DB_USER="postgres" DB_HOST="localhost" DB_NAME="postgres" DB_PSWD="mysecretpassword" DB_PORT=5432 
There are two ways to run Orbital_EI: Production mode and Development mode.
If you just want to run the application:
- 
Build the Docker image: docker build -t orbital-ei .
- 
Start the services: docker compose up 
The application will be available at http://localhost:3000.
If you're planning to modify the code:
- 
Install dependencies locally: npm install 
- 
Start only the database container: docker compose up db And open a new terminal. 
- 
Run unit tests: npm run test
- 
Run the application in development mode: npm run dev 
The application will be available at http://localhost:3000.
Test if the API is running properly:
curl http://localhost:3000/api/images