Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
155 commits
Select commit Hold shift + click to select a range
5ac0806
Update README.md
Dec 24, 2019
bb538aa
Merge remote-tracking branch 'origin/master'
ivanstan-collab Dec 28, 2019
2971dcb
refactor
ivanstan-collab Dec 29, 2019
98dd7b4
Add web profiler
ivanstan-collab Jan 1, 2020
6c25ea8
Remove twig
ivanstan-collab Jan 1, 2020
0cd4d6f
change deployment
ivanstan-collab Jan 1, 2020
d791e75
add twig as dev dependency
ivanstan-collab Jan 2, 2020
7d90b5c
setup tests before deploy
ivanstan-collab Jan 2, 2020
6dbb1b9
update documentation
ivanstan-collab Jan 2, 2020
b06ca93
fix tests
ivanstan-collab Jan 3, 2020
e182fb6
fix code issues
ivanstan-collab Jan 3, 2020
53afc01
Create php.yml
ivanstan Jan 5, 2020
6e6aa21
add travis ci
ivanstan-collab Jan 5, 2020
e938182
Rename travis.yaml to travis.yml
ivanstan Jan 5, 2020
f22ac4a
Rename travis.yml to .travis.yaml
ivanstan Jan 5, 2020
0d5c940
Rename .travis.yaml to .travis.yml
ivanstan Jan 5, 2020
dc5b73d
Update composer.json
ivanstan Jan 5, 2020
be3700e
add travis ci
ivanstan-collab Jan 5, 2020
c6d57b0
add travis ci
ivanstan-collab Jan 5, 2020
17171cc
add travis ci
ivanstan-collab Jan 5, 2020
f005b4d
add coveralls
ivanstan-collab Jan 5, 2020
a146b8d
add coveralls
ivanstan-collab Jan 5, 2020
24a4fb1
add coveralls
ivanstan-collab Jan 5, 2020
86a584a
add coveralls
ivanstan-collab Jan 5, 2020
b83e50c
add coveralls
ivanstan-collab Jan 5, 2020
1dcf63d
add coveralls
ivanstan-collab Jan 5, 2020
6a793a8
`add coveralls`
ivanstan-collab Jan 5, 2020
6c6b349
`add coveralls`
ivanstan-collab Jan 5, 2020
9b94210
`add coveralls`
ivanstan-collab Jan 5, 2020
b308d45
update documentation
ivanstan-collab Jan 5, 2020
1f78418
update documentation
ivanstan-collab Jan 5, 2020
707bf25
update documentation
ivanstan-collab Jan 5, 2020
1e5f3ac
add dependency ivanstan/tle-php
ivanstan-collab Jan 8, 2020
840a78d
add test for not found tle record
ivanstan-collab Jan 8, 2020
e7e627c
add client libraries section
ivanstan-collab Jan 8, 2020
8581362
add coverage badge
ivanstan-collab Jan 8, 2020
34bcef1
add coverage badge
ivanstan-collab Jan 8, 2020
f7832b8
updated symfony 5.0.3
ivanstan Jan 21, 2020
7d1aa25
add docs
ivanstan Oct 26, 2020
d7203fc
add coverage badge
ivanstan-collab Oct 26, 2020
c7a996c
no message
ivanstan-collab Oct 26, 2020
8cd0965
composer install
ivanstan Oct 27, 2020
ef057ac
no message
ivanstan-collab Oct 27, 2020
d3d3069
no message
ivanstan-collab Oct 27, 2020
7797934
no message
ivanstan-collab Oct 27, 2020
7336542
add coverage badge
ivanstan-collab Oct 27, 2020
dcaabed
add coverage badge
ivanstan-collab Dec 9, 2020
a4c1910
add coverage badge
ivanstan-collab Dec 9, 2020
0137d02
update ivanstan/tle-php
ivanstan-collab Dec 9, 2020
270a7fb
upgrade
ivanstan-collab Dec 9, 2020
11cfe1c
fix bug with guzzle
ivanstan Dec 18, 2020
73dde3d
add satelliteId field
ivanstan Dec 20, 2020
912c7eb
Update README.md
ivanstan Dec 27, 2020
ec81782
add suplemental source
ivanstan Dec 27, 2020
c98633b
Merge branch 'master' of github.com:ivanstan/tle-api
ivanstan-collab Dec 27, 2020
fc06e27
upgrade
ivanstan-collab Feb 25, 2021
b9b0281
upgrade
ivanstan-collab Feb 25, 2021
93cdda4
frontend integration
ivanstan-collab Feb 25, 2021
fff02ea
statistics
ivanstan-collab Mar 8, 2021
2bb9d4a
sort by popularity
ivanstan-collab Mar 9, 2021
38a2b72
sort by popularity
ivanstan-collab Mar 9, 2021
a842aed
cors headers
ivanstan-collab Mar 10, 2021
04e87c5
update sources command
ivanstan-collab Mar 22, 2021
584e33c
update sources command
ivanstan-collab Mar 22, 2021
ab2ad58
add request
ivanstan-collab Mar 22, 2021
17facd9
add request
ivanstan-collab Mar 22, 2021
7866c54
gzip
ivanstan-collab Mar 22, 2021
60184f6
gzip
ivanstan-collab Mar 23, 2021
e8ffef8
add sentry
ivanstan-collab Mar 23, 2021
55ccc7a
popular
ivanstan-collab Mar 23, 2021
a36ea65
add request
ivanstan-collab Mar 23, 2021
6f6b243
remove sentry
ivanstan-collab Mar 23, 2021
6cbc6d4
popular
ivanstan-collab Mar 23, 2021
b44fd96
add statistics
ivanstan-collab Mar 30, 2021
2905429
add statistics
ivanstan-collab Mar 30, 2021
47cc1a5
change column name
ivanstan-collab Mar 31, 2021
e26bb52
change column name
ivanstan-collab Mar 31, 2021
83621ff
add tle subscriber
ivanstan-collab Mar 31, 2021
5dfb391
add tle subscriber
ivanstan-collab Apr 1, 2021
0169b38
add tle calculate add monolog
ivanstan-collab Apr 2, 2021
2abd9df
filter validator added
ivanstan-collab Apr 2, 2021
b4bdf1b
add filters
ivanstan-collab Apr 2, 2021
b9bdf58
add filters
ivanstan-collab Apr 2, 2021
68b2b80
add filters
ivanstan-collab Apr 2, 2021
a3dabb5
add sentry
ivanstan-collab Apr 2, 2021
341c7eb
response
ivanstan-collab Apr 2, 2021
0a1d5ac
add sentry frontend
ivanstan-collab Apr 2, 2021
1d0556d
add tle extra
ivanstan-collab Apr 2, 2021
a189a35
add logos to deploy
ivanstan-collab Apr 3, 2021
28408cd
add sort by inclination and eccentricity
ivanstan-collab Apr 19, 2021
365a97f
add sort by inclination and eccentricity
ivanstan-collab Apr 19, 2021
7c16306
add inclination filter
ivanstan-collab Apr 20, 2021
6a609af
add period data
ivanstan-collab Apr 20, 2021
78e9dd3
add period data
ivanstan-collab Apr 20, 2021
a6fb4a4
add period data
ivanstan-collab Apr 20, 2021
b849594
add period data
ivanstan-collab Apr 20, 2021
ff780f9
hydra context in constant
ivanstan-collab Apr 20, 2021
eb366e7
hydra context in constant
ivanstan-collab Apr 20, 2021
f99e2e2
add period
ivanstan-collab Apr 21, 2021
3d17a05
add geodetic propagator
ivanstan-collab Apr 21, 2021
b15aba8
add geodetic propagator
ivanstan-collab Apr 26, 2021
de58636
add geodetic propagator
ivanstan-collab Apr 26, 2021
bf474a1
add geodetic propagator
ivanstan-collab Apr 26, 2021
986c3c2
add geodetic propagator
ivanstan-collab Apr 26, 2021
6478b8f
add geodetic propagator
ivanstan-collab Apr 26, 2021
5495ae6
get rid of Statistic table
ivanstan-collab Apr 26, 2021
dd0dae8
fix deprecations
ivanstan-collab Apr 26, 2021
bbedad1
fix deprecations
ivanstan-collab Apr 26, 2021
94a7f4a
fix tests
ivanstan-collab Apr 26, 2021
a525bb1
move sentry to production
ivanstan-collab Apr 26, 2021
296e7e5
move sentry to production
ivanstan-collab Apr 26, 2021
5fb3577
move sentry to production
ivanstan-collab Apr 26, 2021
d5d1b01
move sentry to production
ivanstan-collab Apr 26, 2021
1387b38
move sentry to production
ivanstan-collab Apr 26, 2021
645c097
move sentry to production
ivanstan-collab Apr 26, 2021
3d99478
move sentry to production
ivanstan-collab Apr 26, 2021
3cd2f47
move sentry to production
ivanstan-collab Apr 26, 2021
7b57678
move sentry to production
ivanstan-collab Apr 26, 2021
d6552f0
tests
ivanstan-collab Apr 26, 2021
beff437
tests
ivanstan-collab Apr 27, 2021
51af694
ground tracks
ivanstan-collab May 27, 2021
369db01
update tle client
ivanstan-collab May 27, 2021
63be808
ground tracks
ivanstan-collab May 28, 2021
3e68d1d
add paypal button
ivanstan-collab May 29, 2021
d666b5a
add paypal button
ivanstan-collab May 29, 2021
04e5e53
add paypal button
ivanstan-collab Jun 5, 2021
6df0088
upgrade symfony 5.3
ivanstan-collab Jun 5, 2021
b56926b
Update README.md
serbiancaseforspace Jun 5, 2021
0622527
upgrade symfony 5.3
ivanstan-collab Jun 5, 2021
bd01d64
upgrade symfony 5.3
ivanstan-collab Jun 5, 2021
f5c45f6
upgrade symfony 5.3
ivanstan-collab Jun 5, 2021
6359fa7
Merge pull request #206 from serbiancaseforspace/patch-1
ivanstan Jun 5, 2021
aa02e59
add referer
ivanstan-collab Jun 5, 2021
82555ab
Merge remote-tracking branch 'origin/master'
ivanstan-collab Jun 5, 2021
c5bf599
upgrade symfony 5.3
ivanstan-collab Jun 5, 2021
a3cbc1a
cleanup command
ivanstan-collab Jun 5, 2021
46a156b
rate limiter
ivanstan-collab Jun 5, 2021
d895f00
upgrade symfony 5.3
ivanstan-collab Jun 6, 2021
4fbf610
setup sentry filter
ivanstan-collab Jun 7, 2021
956c5a0
upgrade symfony 5.3
ivanstan-collab Jun 10, 2021
512b02c
sentry test
ivanstan-collab Jun 11, 2021
d1d6fd0
refactor
ivanstan-collab Jun 11, 2021
154cd1c
refactor
ivanstan-collab Jun 11, 2021
6884e4b
update tests
ivanstan-collab Jun 11, 2021
79ddd67
annotations
ivanstan-collab Jun 12, 2021
ca4b158
annotations
ivanstan-collab Jun 12, 2021
bb55d90
fix map arbitrary date
ivanstan-collab Jun 12, 2021
46b5694
fix deploy script
ivanstan-collab Jun 12, 2021
342f560
fix deploy script
ivanstan-collab Jun 13, 2021
1bf4a2b
bugfix
ivanstan-collab Jun 13, 2021
8b573e9
bugfix
ivanstan-collab Jul 21, 2021
eb06f90
rename config to etc
ivanstan-collab Jul 21, 2021
8b16d57
rename config to etc
ivanstan-collab Jul 21, 2021
81dfa0d
add optional progress bar
ivanstan-collab Jul 25, 2021
fe17e93
Bump symfony/framework-bundle from 5.3.0 to 5.3.4
dependabot-preview[bot] Jul 27, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .coveralls.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
repo_token: RTlXy2H8wGT3YFreCvVwE9FDSvoIzgvAo
coverage_clover: tests/logs/clover.xml
json_path: tests/logs/coveralls-upload.json
service_name: travis-ci
12 changes: 11 additions & 1 deletion .env
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,15 @@ APP_SECRET=c165ffa974b09ac4d1bd06daf956753b
# For an SQLite database, use: "sqlite:///%kernel.project_dir%/var/data.db"
# For a PostgreSQL database, use: "postgresql://db_user:db_password@127.0.0.1:5432/db_name?serverVersion=11&charset=utf8"
# IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml
DATABASE_URL=mysql://root@127.0.0.1:3306/tle?serverVersion=5.7
DATABASE_URL=mysql://root:root@localhost:3306/tle?serverVersion=8
###< doctrine/doctrine-bundle ###

###> sentry/sentry-symfony ###
SENTRY_DSN=
###< sentry/sentry-symfony ###

###> symfony/lock ###
# Choose one of the stores below
# postgresql+advisory://db_user:db_password@localhost/db_name
LOCK_DSN=semaphore
###< symfony/lock ###
2 changes: 1 addition & 1 deletion .env.test
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
KERNEL_CLASS='App\Kernel'
APP_SECRET='$ecretf0rt3st'
SYMFONY_DEPRECATIONS_HELPER=999999
PANTHER_APP_ENV=panther
DATABASE_URL=mysql://root:root@localhost:3306/tle?serverVersion=8
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,7 @@
.phpunit
.phpunit.result.cache
/phpunit.xml
coverage
###< symfony/phpunit-bridge ###

public/index.html
31 changes: 31 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
language: php

services:
- mysql

cache:
directories:
- $HOME/.composer/cache

branches:
only:
- master

matrix:
include:
- php: 7.4

before_install:
- composer require satooshi/php-coveralls

install:
- composer install

script:
- php bin/phpunit --coverage-clover ./tests/logs/clover.xml

after_script:
- export CI_BUILD_NUMBER="$TRAVIS_BUILD_NUMBER"
- export CI_PULL_REQUEST="$TRAVIS_PULL_REQUEST"
- export CI_BRANCH="$TRAVIS_BRANCH"
- php vendor/satooshi/php-coveralls/bin/php-coveralls -vv --coverage_clover ./tests/logs/clover.xml
42 changes: 37 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,37 @@
#TLE API

![status](https://badgen.net/uptime-robot/status/m781499721-d42767e28cc71aea507fb087)
![status](https://badgen.net/uptime-robot/month/m781499721-d42767e28cc71aea507fb087)
![status](https://badgen.net/uptime-robot/response/m781499721-d42767e28cc71aea507fb087)
# TLE API

<!-- [![build](https://travis-ci.com/ivanstan/tle-api.svg?branch=master)](https://travis-ci.com/ivanstan/tle-api) -->
<!-- ![dependabot](https://badgen.net/dependabot/dependabot/dependabot-core/?icon=dependabot) -->
![coverage](https://badgen.net/coveralls/c/github/ivanstan/tle-api)
![status](https://badgen.net/uptime-robot/status/m781499721-d42767e28cc71aea507fb087)
![status](https://badgen.net/uptime-robot/month/m781499721-d42767e28cc71aea507fb087)
![status](https://badgen.net/uptime-robot/response/m781499721-d42767e28cc71aea507fb087)

Code repository that powers TLE API backend, listed on NASA API catalog
https://api.nasa.gov/

API provides up to date two line element set records, the data is updated
daily from [CelesTrak](https://celestrak.com/) and served in JSON format. A two-line element set (TLE)
is a data format encoding a list of orbital elements of an
Earth-orbiting object for a given point in time.

## Usage
Further documentation and response examples are available at:
https://tle.ivanstanojevic.me/

### Available endpoints
The TLE API consists of two endpoints `GET http://tle.ivanstanojevic.me`

| Endpoint | Description |
|----------|:------:|
| `GET /api/tle?search={query}` | Perform search by satellite name |
| `GET /api/tle/{id}` | Retrieve a single TLE record where id is satellite number |

Example query
http://tle.ivanstanojevic.me/api/tle

# Client libraries

* JavaScript https://github.com/ivanstan/tle.js
* PHP https://github.com/ivanstan/tle-php
* C# https://github.com/nichols-t/TLE.NET
2 changes: 1 addition & 1 deletion bin/console
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ if ($input->hasParameterOption('--no-debug', true)) {
putenv('APP_DEBUG='.$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = '0');
}

require dirname(__DIR__).'/config/bootstrap.php';
require dirname(__DIR__).'/etc/bootstrap.php';

if ($_SERVER['APP_DEBUG']) {
umask(0000);
Expand Down
185 changes: 109 additions & 76 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,76 +1,109 @@
{
"type": "project",
"license": "proprietary",
"require": {
"php": "^7.4",
"ext-ctype": "*",
"ext-iconv": "*",
"ext-json": "*",
"symfony/apache-pack": "^1.0",
"symfony/asset": "5.0.*",
"symfony/browser-kit": "5.0.*",
"symfony/console": "5.0.*",
"symfony/dotenv": "5.0.*",
"symfony/flex": "^1.3.1",
"symfony/framework-bundle": "5.0.*",
"symfony/orm-pack": "^1.0",
"symfony/serializer": "5.0.*",
"symfony/twig-bundle": "5.0.*",
"symfony/yaml": "5.0.*"
},
"require-dev": {
"doctrine/doctrine-fixtures-bundle": "^3.1",
"symfony/maker-bundle": "^1.9",
"symfony/phpunit-bridge": "^5.0"
},
"config": {
"preferred-install": {
"*": "dist"
},
"sort-packages": true,
"optimize-autoloader": true
},
"autoload": {
"psr-4": {
"App\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"App\\Tests\\": "tests/"
}
},
"replace": {
"paragonie/random_compat": "2.*",
"symfony/polyfill-ctype": "*",
"symfony/polyfill-iconv": "*",
"symfony/polyfill-php72": "*",
"symfony/polyfill-php71": "*",
"symfony/polyfill-php70": "*",
"symfony/polyfill-php56": "*"
},
"scripts": {
"auto-scripts": {
"cache:clear": "symfony-cmd",
"assets:install %PUBLIC_DIR%": "symfony-cmd",
"doctrine:migrations:migrate --no-interaction": "symfony-cmd",
"cache:warmup": "symfony-cmd"
},
"post-install-cmd": [
"@auto-scripts"
],
"post-update-cmd": [
"@auto-scripts"
]
},
"conflict": {
"symfony/symfony": "*"
},
"extra": {
"public-dir": "./",
"symfony": {
"allow-contrib": false,
"require": "5.0.*"
}
}
}
{
"name": "ivanstan/tle-backend",
"description": "TLE API backend",
"type": "project",
"license": "proprietary",
"version": "1.3.2",
"require": {
"php": "^8.0",
"ext-ctype": "*",
"ext-dom": "*",
"ext-iconv": "*",
"ext-json": "*",
"beberlei/doctrineextensions": "^1.3",
"ivanstan/tle-php": "dev-master",
"myclabs/php-enum": "^1.7",
"sentry/sentry-symfony": "^4.0",
"symfony/apache-pack": "^1.0",
"symfony/asset": "5.3.*",
"symfony/browser-kit": "5.3.*",
"symfony/console": "5.3.*",
"symfony/css-selector": "5.3.*",
"symfony/dotenv": "5.3.*",
"symfony/flex": "^1.3.1",
"symfony/framework-bundle": "5.3.*",
"symfony/monolog-bundle": "^3.7",
"symfony/orm-pack": "^1.1",
"symfony/property-access": "5.3.*",
"symfony/rate-limiter": "5.3.*",
"symfony/serializer": "5.3.*",
"symfony/yaml": "5.3.*"
},
"require-dev": {
"roave/security-advisories": "dev-latest",
"doctrine/doctrine-fixtures-bundle": "^3.1",
"symfony/phpunit-bridge": "^5.3"
},
"config": {
"preferred-install": {
"*": "auto"
},
"sort-packages": true,
"optimize-autoloader": true
},
"autoload": {
"psr-4": {
"App\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"App\\Tests\\": "tests/"
},
"files": [
"lib/predict/Predict.php",
"lib/predict/Predict/Time.php",
"lib/predict/Predict/Math.php",
"lib/predict/Predict/Pass.php",
"lib/predict/Predict/PassDetail.php",
"lib/predict/Predict/Vector.php",
"lib/predict/Predict/Geodetic.php",
"lib/predict/Predict/ObsSet.php",
"lib/predict/Predict/Solar.php",
"lib/predict/Predict/SGPObs.php",
"lib/predict/Predict/SGPSDP.php",
"lib/predict/Predict.php",
"lib/predict/Predict/Sat.php",
"lib/predict/Predict/QTH.php",
"lib/predict/Predict/Time.php",
"lib/predict/Predict/TLE.php",
"lib/predict/Predict/SGSDPStatic.php",
"lib/predict/Predict/SGSDPStatic.php",
"lib/predict/Predict/DeepArg.php",
"lib/predict/Predict/DeepStatic.php"
]
},
"replace": {
"paragonie/random_compat": "2.*",
"symfony/polyfill-ctype": "*",
"symfony/polyfill-iconv": "*",
"symfony/polyfill-php72": "*",
"symfony/polyfill-php71": "*",
"symfony/polyfill-php70": "*",
"symfony/polyfill-php56": "*"
},
"scripts": {
"auto-scripts": {
"cache:clear": "symfony-cmd",
"cache:warmup": "symfony-cmd"
},
"post-install-cmd": [
"@auto-scripts"
],
"post-update-cmd": [
"@auto-scripts"
],
"test": "php bin/phpunit --coverage-text",
"deploy": "dep deploy"
},
"conflict": {
"symfony/symfony": "*"
},
"extra": {
"public-dir": "./public",
"symfony": {
"allow-contrib": false,
"require": "5.3.*"
}
}
}
Loading