From 94e3f37f7055cae2751d67598173d5298ab6fdde Mon Sep 17 00:00:00 2001 From: Jordan Yamada Date: Sun, 19 May 2024 05:05:55 +0000 Subject: [PATCH] add the NASA Sentry api call to the backend --- backend/deep_impact_proj/.env.sample | 6 +++++ backend/deep_impact_proj/.gitignore | 2 ++ .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 205 bytes .../api_app/__pycache__/admin.cpython-311.pyc | Bin 0 -> 260 bytes .../api_app/__pycache__/apps.cpython-311.pyc | Bin 0 -> 577 bytes .../__pycache__/models.cpython-311.pyc | Bin 0 -> 257 bytes .../api_app/__pycache__/urls.cpython-311.pyc | Bin 0 -> 574 bytes .../api_app/__pycache__/utils.cpython-311.pyc | Bin 0 -> 1470 bytes .../api_app/__pycache__/views.cpython-311.pyc | Bin 0 -> 1509 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 216 bytes backend/deep_impact_proj/api_app/urls.py | 7 +++-- backend/deep_impact_proj/api_app/utils.py | 23 +++++++++++++++++ backend/deep_impact_proj/api_app/views.py | 24 +++++++++++++++--- backend/deep_impact_proj/db.sqlite3 | Bin 0 -> 131072 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 214 bytes .../__pycache__/settings.cpython-311.pyc | Bin 0 -> 3138 bytes .../__pycache__/urls.cpython-311.pyc | Bin 0 -> 1215 bytes .../__pycache__/wsgi.cpython-311.pyc | Bin 0 -> 754 bytes .../deep_impact_proj/settings.py | 20 ++++++++++++--- backend/deep_impact_proj/requirements.txt | 17 +++++++++++++ frontend/src/pages/scenario.jsx | 6 ++--- 21 files changed, 92 insertions(+), 13 deletions(-) create mode 100644 backend/deep_impact_proj/.env.sample create mode 100644 backend/deep_impact_proj/.gitignore create mode 100644 backend/deep_impact_proj/api_app/__pycache__/__init__.cpython-311.pyc create mode 100644 backend/deep_impact_proj/api_app/__pycache__/admin.cpython-311.pyc create mode 100644 backend/deep_impact_proj/api_app/__pycache__/apps.cpython-311.pyc create mode 100644 backend/deep_impact_proj/api_app/__pycache__/models.cpython-311.pyc create mode 100644 backend/deep_impact_proj/api_app/__pycache__/urls.cpython-311.pyc create mode 100644 backend/deep_impact_proj/api_app/__pycache__/utils.cpython-311.pyc create mode 100644 backend/deep_impact_proj/api_app/__pycache__/views.cpython-311.pyc create mode 100644 backend/deep_impact_proj/api_app/migrations/__pycache__/__init__.cpython-311.pyc create mode 100644 backend/deep_impact_proj/api_app/utils.py create mode 100644 backend/deep_impact_proj/db.sqlite3 create mode 100644 backend/deep_impact_proj/deep_impact_proj/__pycache__/__init__.cpython-311.pyc create mode 100644 backend/deep_impact_proj/deep_impact_proj/__pycache__/settings.cpython-311.pyc create mode 100644 backend/deep_impact_proj/deep_impact_proj/__pycache__/urls.cpython-311.pyc create mode 100644 backend/deep_impact_proj/deep_impact_proj/__pycache__/wsgi.cpython-311.pyc create mode 100644 backend/deep_impact_proj/requirements.txt diff --git a/backend/deep_impact_proj/.env.sample b/backend/deep_impact_proj/.env.sample new file mode 100644 index 0000000..cc3ccc3 --- /dev/null +++ b/backend/deep_impact_proj/.env.sample @@ -0,0 +1,6 @@ +SECRET_KEY=<"Your Django Secret Key"> +SENTRY_API_KEY=<"Your NASA Sentry API Key"> +OPENAI_API_KEY=<"Your OpenAI API Key"> +HOST_CLIENT=<"Your FrontEnd URL"> +ALLOWED_HOSTS=<"Your Server URL"> +DEBUG=<"True for Deployment | False for Development"> \ No newline at end of file diff --git a/backend/deep_impact_proj/.gitignore b/backend/deep_impact_proj/.gitignore new file mode 100644 index 0000000..c66ba3a --- /dev/null +++ b/backend/deep_impact_proj/.gitignore @@ -0,0 +1,2 @@ +.env +.venv \ No newline at end of file diff --git a/backend/deep_impact_proj/api_app/__pycache__/__init__.cpython-311.pyc b/backend/deep_impact_proj/api_app/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..96988ff71f38bf0c6b8560700a111b4f43c01318 GIT binary patch literal 205 zcmZ3^%ge<81or|w(?IlN5CH>>P{wCAAY(d13PUi1CZpdb>KSl=ZzwLsT1w;(aOL_aApIXg8kMLz{77M}?g zi!T5w)K4tPj87~m&<9(sS5Wzj!zMRBr8Fniu80F@8zT@G%L0iH%#4hTHy9KyU_(W0 GKotOA?MLGP literal 0 HcmV?d00001 diff --git a/backend/deep_impact_proj/api_app/__pycache__/apps.cpython-311.pyc b/backend/deep_impact_proj/api_app/__pycache__/apps.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..331dfe9342775916acc0358aa155b548271fbfaf GIT binary patch literal 577 zcmZutJxjzu5S>kOe%^_Q3KkZYSD3U4BAkjMf*jZdVOekX&YVehO>%`+7XARO{0EBo zXDp8tHdb~gXJzGVE()Tv$;_LXw{Lgnp;ns$vX|z5`qWF%9}~+ET3#>y{+PQ&}o&7BCs+UE)uu{2|h!hz09}K z@*T8E!^x`+9sKOST*j`5JIciqH&Q6W)ZGd?jb5g90~umIE_A?!)`#^ELE4 zGNod#nW(O8WvRC#rC!~Sv}k4CiD;e47(JvK4~iPsMD)trQPiocFA_7|!Z`%eC306k ztG~4N>@4=D=dX6mN^0NS!@8YMmt!zOiJALIs%lU{oFVi%u`zn~W-?2u8FzX>ZeTOU b`mpl+`x}f|Y+(R@-Oc*Dseb&^Dh~SskBgQc literal 0 HcmV?d00001 diff --git a/backend/deep_impact_proj/api_app/__pycache__/models.cpython-311.pyc b/backend/deep_impact_proj/api_app/__pycache__/models.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6b3e232f198b76120456ae3eba1f7e9b0060a51c GIT binary patch literal 257 zcmZ3^%ge<81or|w(=37XV-N=hn4pZ$LO{lJh7^Vr#vF!R#wbQch7_h?22JLdAO)I? zx7c#?Q&Mw^{WO_wai(M?=B4NBr6d(G10`27d?~5CFHJZb?N9N9R$BY zRrEvn5h`>jw>otzxHC;NjCi+^38D4!mgNAfr!ip57GYz!-LD#>7`skVu(o)RjY_@|G_)^c*xZ`$lJ=#x}-yh!*i`8)6>n9%?L literal 0 HcmV?d00001 diff --git a/backend/deep_impact_proj/api_app/__pycache__/utils.cpython-311.pyc b/backend/deep_impact_proj/api_app/__pycache__/utils.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..11ac1dfd41a0e5ad244ac5795daa8fa01f3cf409 GIT binary patch literal 1470 zcmbVL-D?|15Z}GiS!=n{$#ERhG&M>c3W8Q=rKS!gZINw3O+a>SwZ&J;anY@9$-0m3 zovpZ7jVOIkN}#0#Tqvb^sY`JGiR3Ski$cYLpZe4{fnP$NI(z!E)wk~L&dkov%+1Vi z_xETtf?&K;U*7ydKZTRY%Q;8o`JPrLkV<$FKCH^W2b*Fha+$Izx>bBi|x5W(eyj8UBYWlh~I( z)yqXg_lmZaWz1$d(2+IjI=1D~WXK=;D4$=|ZqCkXD|h^f?q*KQt!RrYxqLR4_v2k< zT3cMpX7br3|8k(21D}P=lD3xp_>=5<-jA(=_1cD(SzXrdWH$=kv;rmp(|7*21XoP=F?G3BB9VCcg|cm%R4Lia(5-#l)D2x(v< zvQq_{(G)D>mCn^}q-)^CyQ+JE(S`907M0=7a<3 zhpDw!WB_)QtN0xcdin&Nfr!{7keB4PX&bv``T^q=@E7ayH`f+1#w~QSadEcLXf60! zNUjB63%%92INO4Rg*N(sB#tg!esuM4`p4-;V)kS_-5gKXV(k#YfYN^ndmU2!7gObC ARR910 literal 0 HcmV?d00001 diff --git a/backend/deep_impact_proj/api_app/__pycache__/views.cpython-311.pyc b/backend/deep_impact_proj/api_app/__pycache__/views.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..23785c7594b1c58c245b2fae9e78f0d2fe0780af GIT binary patch literal 1509 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 literal 0 HcmV?d00001 diff --git a/backend/deep_impact_proj/deep_impact_proj/__pycache__/__init__.cpython-311.pyc b/backend/deep_impact_proj/deep_impact_proj/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..00cb33309bb52b9e07970cf8eddbc2c69807616f GIT binary patch literal 214 zcmZ3^%ge<81or|w(?IlN5CH>>P{wCAAY(d13PUi1CZpdspP83g5+AQuQ2C3)CO1E&G$+-rh!tov$Zf^^K;i>4BO~Jn L1{hJq3={(Z(YiV- literal 0 HcmV?d00001 diff --git a/backend/deep_impact_proj/deep_impact_proj/__pycache__/settings.cpython-311.pyc b/backend/deep_impact_proj/deep_impact_proj/__pycache__/settings.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..74aab0a7bd2f1cf6abbc85457e0e3d39f076f010 GIT binary patch literal 3138 zcmb7G-EZ606({vAN@8S3u@&cwLD8jZ7cxQPb{Gn8j6^#^Wl0m|WaC2#TK8I_!w;3D z;+enz4H&Sk2+(2}&|(O%pbs5}zU*QDNA1Eujr(L^PkR&4w?6fdl44m7Fpr|{=Q+P~ z?)l>VM=r-u@MQm3-T5X*QU3`h(1^g@iqL%&&%X=G~1u$+)YjQPDe@_)4QR@!QRWvlw!6= z@w2j&>;-t{^iy&d;7Oj9gHqjy!geW?{*qQMLC-*+M;T?|0$ACzSY29KL^;41eWa`4WKp#KJeS1-{d*3`Tn^clm}kcw;% zTh9n1OXZf-RzH+}L*f-pE_76TS+dER~>yZ-Xrri)z{%zJ*rgbl3=94qr29yp{ExWOfvj_tTT ztRd{UB&qdvRqOW&>tNSYcO1>cd$#kml=AORFiagG1Mg`L=3U$wIJ&pb%ag(8t3Ch0 zyvT`?{0zT5UYp^1b4Hn2$};FULsmMk3xtblTYNd}{s*b+?C@o19_x5-hV=b8l{N6h ztP!3laNjOH1}`Lj;#KFhp0_Qed>d#^c!p?99{YMrN$QT(sh1M4^XLF&vN{>psP z@&m^JKL!z}mTOh1-u8tFwujBW0ZGhn11Pr8G|Bi%n9uFWw%aC)VTk=UECU_T6%1aA z`ESkRoTuUu-X3)Qw=Y2H;Ey32J^!5v?W;rx4E-A9zybcdbHuNV`x=JnUMWVB55@9_ zQoTZAm1;{SDY4m9!%?!)Y*!m~*}r|xj(cub=OOyR3!#fi65$B9l603`wl2d^4;Xj%?K^Rwk&2=HOkP0PAN1-@=%f*i91+`(| zVOckILkrUD@tDGP{I!cBZR(b84$K<1x?b;;{}&hKAE!}sqT?yRFE0vEADGzDJLeJN z*t$D#Np!1S_LJ}-fpil58xvTtq-i5;xco!C3+ZOB>)1f08ziYh&F!cviP%u2`cR7v zecOqGbxC4ejGb68NvUd3)qpSw1{VUp-Wsj@thdML_L5CS9#wOe;=i$uHFbK=0~ z1Xm#^xU&$pT9?~U#G!;k$jF4*tX3*D>515qNVe5zwAHOvt=y=ulR~-ClGSOwZ?vl5 zcc}PnX|q`q+mcN3PvnhifKscL#USQLx+1p4Ko6M|#jW-uwJFN-lSZqeJ{D_L*aSq9 ztBLiEEpbCq%Z-WzfYnV&RT>aesVz7`_5RQ5BoU0-3VeaufLsoAB8wGiUEHd*RX}d2 z>s6^%`6u-~oQe8D7kajdgI3lLz`$$HeUKbn2;F}}JBrdYJ&G`NY(xdk5=Aq^bnrW-iU()k zW9sI?*>{wn=LTeU!OBOpREI z%|BN@{pgdAzNj7MN=LcUkO7Ev<~j2z`w9Em-eKz2QR>z(ezI`+uPdM5{L9Ukmkt;1 z9WC7Z*ELZvSqD({@>axplDu!BGJ)joHuOoo>egvw&-R=MY literal 0 HcmV?d00001 diff --git a/backend/deep_impact_proj/deep_impact_proj/__pycache__/urls.cpython-311.pyc b/backend/deep_impact_proj/deep_impact_proj/__pycache__/urls.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3a1cce68992e9f10c24f4519503be19b67e5e13f GIT binary patch literal 1215 zcmb7DOK;Oa5MDdZqb{ZDg>piRDwJ4iy?|5+MLdLBDk>pV@wnvTZoHes!S-6a8=w`3 z-r(3nCHMtJh`+#(Xr&%1UpaA$)LT!?I*AktNHDQSoALOYZ@%$-o||(K*tcM_bEkyR zck^dr)$!r%9UML)hFXYO%#N+ZZrPSOm*P_5w49{eDqF}#++hy4`;`eme}aGxZG^tU zJ+dOR48F`NhZa16dt|@nb?sJ-Ri7iTM&HBB?#pLSa46DF)E!8wBaz~ckeG3v1yPdG zPzRY5eQX>LwePwwdK_;LWSmj0xlGkIjw7Y96a&o_1~`Saz^^0zM)`OHuo59Tj#7Y4 zMg_8%Q^m33yy;@Fp4ORa62e5NeAcIFS4_%%TEr3qlE zrn@mn!-9KJwgA25WPFeR|7@I=<8w;U(TpA*N!FWRFF<|`<8>xklsgjo=fKl&Wy+E$_3Yd+is#jF_HLz!lU;{q5!t;2z7WsQdg{&O z)gXY6CkXP(W4_R)mQh>6`k{PwstM^pM3zn1QIY1kV=(gBsd0ZnXYd%Eb7DqI`a&|A z?$CrXO4bD9TQSu_q-1Nf5{j(DvaEoZuq>oa!&f|Id)yE?Uth%I;vrI&)8)I%>Kg1EJ;uG_*^l)cQRlefFGW|Co&wzj7p z{14*IQ$_k`wo(x0APb(nE%ertnXU_4eMw%Dm%R6VFE3vg7JP8>bEnq%OaOirn~BW) zU0n9u;u8pHfgr+@q($6Zl3r43l?Wi|Pj14O*@^S?EM~;)sRwZ8##jh=fTdHnIh&ZE zH7C3#tj-+|{kP4n8jZB-#9i9a85M|W7$+%@Y?x-cPYZ>S4Sc_5DSk+`K|^g1>DZG? z$@e5uZYZaT7W)#{Bp#ro2Rw_fj}%W(&~}@rsf;6TW3Ae47w?6GOLT@bRt`D2KA>8; z;IW~dSmHx!5dEIDsd>zp(2)s5pR2B(aEf%oP_d0*o%Qsg)l6V2^-+S#vP092ng6@U zxv@&}`(3nQVGE~dYCMZUJgUY zB@A;eiESZJuTohw8o` zn0HQ%N`#P+S0*zfDAYY5{>km44dKz?W*>t0(fI0|`E6an* S@_A+DqOx)_U$pFw3;qZ1hU9ku literal 0 HcmV?d00001 diff --git a/backend/deep_impact_proj/deep_impact_proj/settings.py b/backend/deep_impact_proj/deep_impact_proj/settings.py index db71201..389d485 100644 --- a/backend/deep_impact_proj/deep_impact_proj/settings.py +++ b/backend/deep_impact_proj/deep_impact_proj/settings.py @@ -11,6 +11,11 @@ https://docs.djangoproject.com/en/5.0/ref/settings/ """ import os from pathlib import Path +from dotenv import load_dotenv + +# Load environment variables from .env file +load_dotenv() + # Build paths inside the project like this: BASE_DIR / 'subdir'. BASE_DIR = Path(__file__).resolve().parent.parent @@ -20,12 +25,12 @@ BASE_DIR = Path(__file__).resolve().parent.parent # See https://docs.djangoproject.com/en/5.0/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! -SECRET_KEY = 'django-insecure-3(n0mvl^xk3rjak+runl7#wbx1vr1y+y17dber5zl5ab3x6_hy' +SECRET_KEY = os.environ.get("SECRET_KEY") # SECURITY WARNING: don't run with debug turned on in production! -DEBUG = True +DEBUG = os.environ.get("DEBUG") -ALLOWED_HOSTS = [] +ALLOWED_HOSTS = [os.environ.get("ALLOWED_HOSTS"), "localhost"] # Application definition @@ -37,12 +42,15 @@ INSTALLED_APPS = [ 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', + 'corsheaders', 'api_app', + 'rest_framework', ] MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', + 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', @@ -52,6 +60,12 @@ MIDDLEWARE = [ ROOT_URLCONF = 'deep_impact_proj.urls' + + +CORS_ALLOWED_ORIGINS = [os.environ.get("HOST_CLIENT")] + + + TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', diff --git a/backend/deep_impact_proj/requirements.txt b/backend/deep_impact_proj/requirements.txt new file mode 100644 index 0000000..4957a6f --- /dev/null +++ b/backend/deep_impact_proj/requirements.txt @@ -0,0 +1,17 @@ +asgiref==3.8.1 +certifi==2024.2.2 +charset-normalizer==3.3.2 +click==8.1.7 +Django==5.0.6 +django-cors-headers==4.2.0 +djangorestframework==3.15.1 +gunicorn==22.0.0 +h11==0.14.0 +idna==3.7 +packaging==24.0 +python-dotenv==1.0.1 +requests==2.31.0 +sqlparse==0.5.0 +urllib3==2.2.1 +uvicorn==0.29.0 +whitenoise==6.6.0 diff --git a/frontend/src/pages/scenario.jsx b/frontend/src/pages/scenario.jsx index 8f95126..ee37a8f 100644 --- a/frontend/src/pages/scenario.jsx +++ b/frontend/src/pages/scenario.jsx @@ -3,7 +3,7 @@ import { Stage, Layer, Circle, Text, Line } from 'react-konva'; import { Slider, Button } from '@mui/material'; import axios from 'axios'; -const API_KEY = 'LF7i77oqghRiq54HEFJh991WgjHcKsETP9D5ofsg'; + const EARTH_RADIUS_KM = 6371; // Earth's radius in kilometers const EARTH_DISPLAY_SCALE = 0.01; // Display scale for Earth const ASTEROID_DISPLAY_SCALE = 0.3; // Display scale for asteroids @@ -37,9 +37,9 @@ function Scenario() { const [timeStep, setTimeStep] = useState(100); // State for time step useEffect(() => { - const fetchAsteroids = async () => { + const fetchAsteroids = async (self, request) => { try { - const response = await axios.get(`https://api.nasa.gov/neo/rest/v1/neo/browse?api_key=${API_KEY}`); + const response = await axios.get(`http://localhost:8000/api/sentry/`); asteroidsData.current = response.data.near_earth_objects; setAsteroidData(0); // Set initial asteroid } catch (error) {