From 31c4505e499fb8853eb506001b6bbdfb7d480e0b Mon Sep 17 00:00:00 2001 From: Alexander Laevens Date: Thu, 1 Dec 2022 01:34:31 -0700 Subject: [PATCH] Add readme Remove development color swatches page --- one_trip/lib/screens/home_screen.dart | 14 +++---- one_trip_api/daphne.service | 16 ++++++++ one_trip_api/gunicorn.service | 18 --------- one_trip_api/gunicorn.socket | 8 ---- planning/backend-structure.dia | Bin 2122 -> 2606 bytes planning/backend-structure.png | Bin 0 -> 60532 bytes readme.md | 52 ++++++++++++++++++++++++++ 7 files changed, 75 insertions(+), 33 deletions(-) create mode 100644 one_trip_api/daphne.service delete mode 100644 one_trip_api/gunicorn.service delete mode 100644 one_trip_api/gunicorn.socket create mode 100644 planning/backend-structure.png create mode 100644 readme.md diff --git a/one_trip/lib/screens/home_screen.dart b/one_trip/lib/screens/home_screen.dart index baca9de..aa51075 100644 --- a/one_trip/lib/screens/home_screen.dart +++ b/one_trip/lib/screens/home_screen.dart @@ -18,7 +18,7 @@ class _HomeScreenState extends State { "Shopping List", "Saved Recipes", "Your Profile", - "Color Debug" + // "Color Debug" ]; @override @@ -27,7 +27,7 @@ class _HomeScreenState extends State { const ListPage(), const RecipesPage(), const ProfilePage(), - const ColorPage() + // const ColorPage() ]; super.initState(); } @@ -58,11 +58,11 @@ class _HomeScreenState extends State { label: "Profile", backgroundColor: Theme.of(context).colorScheme.secondaryContainer, ), - BottomNavigationBarItem( - icon: const Icon(Icons.grid_3x3), - label: "Colors", - backgroundColor: Theme.of(context).colorScheme.secondaryContainer, - ) + // BottomNavigationBarItem( + // icon: const Icon(Icons.grid_3x3), + // label: "Colors", + // backgroundColor: Theme.of(context).colorScheme.secondaryContainer, + // ) ], currentIndex: _selectedPage, onTap: (value) { diff --git a/one_trip_api/daphne.service b/one_trip_api/daphne.service new file mode 100644 index 0000000..9d9fa2c --- /dev/null +++ b/one_trip_api/daphne.service @@ -0,0 +1,16 @@ +[Unit] +Description=daphne daemon +After=network.target + +[Service] +User=django +Group=www-data +Environment="DJANGO_RELEASE=True" +WorkingDirectory=/opt/django/OneTrip/one_trip_api +ExecStart=/opt/django/OneTrip/one_trip_api/venv/bin/daphne \ + --u /run/daphne/daphne.sock \ + one_trip_api.asgi:application + +[Install] +WantedBy=multi-user.target + diff --git a/one_trip_api/gunicorn.service b/one_trip_api/gunicorn.service deleted file mode 100644 index 6d45976..0000000 --- a/one_trip_api/gunicorn.service +++ /dev/null @@ -1,18 +0,0 @@ -[Unit] -Description=gunicorn daemon -Requires=gunicorn.socket -After=network.target - -[Service] -User=django -Group=www-data -Environment="DJANGO_RELEASE=True" -WorkingDirectory=/opt/django/OneTrip/one_trip_api -ExecStart=/opt/django/OneTrip/one_trip_api/venv/bin/gunicorn \ - --access-logfile - \ - --workers 3 \ - --bind unix:/run/gunicorn.sock \ - one_trip_api.wsgi:application - -[Install] -WantedBy=multi-user.target \ No newline at end of file diff --git a/one_trip_api/gunicorn.socket b/one_trip_api/gunicorn.socket deleted file mode 100644 index cc9bfee..0000000 --- a/one_trip_api/gunicorn.socket +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=gunicorn socket - -[Socket] -ListenStream=/run/gunicorn.sock - -[Install] -WantedBy=sockets.target \ No newline at end of file diff --git a/planning/backend-structure.dia b/planning/backend-structure.dia index 7d96231365af936d776af5ab5e5cf23d19325e06..912d771a25394c8275c6838746ed209718edae97 100644 GIT binary patch literal 2606 zcmV+}3eoi+iwFP!000021MOW~lj1fOe(zu5VqUw2CHb08cWRSVDyf>?RHbH~DS-uO z$JoR+-NVcN_LU5Mv5mpDYz8KWs-XvS(2L8n2=;^gw@BE^kiUph_32@>%(C?lpPg#~FV!Fw=5wR727){yi%OZ(4Q83y`?d4{17$?RP z3m--w=KI%ZyiaIcNa;xGYqsFigtIU8iJS7}``r>>^Q4^cY8|ISie%e$MWiMj_5My~ zFO^E6Xz}>rBhNCPeAs1c|L`rnLz%5rl&x5@5K&c^v{1M+2SGOV)yu)2O-k^eah z(O-j^*mRTG{ zvN#fo-mPQlu4z9in>NMWqY_HZwaP}ulYLHqe#586zPH)u#MtMby?exDah_g2y=(8g zircs2&;R~t+!_B$(|9JBD*osVl9Q1kf``$cX3-VO_LJ#JI8brt+>AS8Q45(A-+IV2 zscn@VwQ96FEz@aPNutUeEkeErIX)u9zI73?rJ{SO*Y`a8mY4|p*zcxz#WOZK(KiP| zdP28iC33*4w78}Qtd+#_kL9|@B$cgPyN#reXlE&`O$vm$1!0MSXm$75Gl{w*wn2(G!+bSqwj`lzPBvw4V`zv0t zNJIOQi^Vdlj^Z!ToryfN__8##sfcEiR0r=O;bxj|aZWoWp@{e-k6DkE2$xEPHI(&T zqBq!^R?>X=##pi_*tdl&mUz&5g_}7{tYU`)zs39C+Qr|}YSdQB(C+aLv+96YtPNrv zEez~R-{$?X=_tAmmx=wXh1i3}uCjCRj-{TcmOUc*T1DLGx)d3XV z+c^BPt)@m#U&GiY3V4$DhU-MEShAgb;oE^Qe8v_FX^o+aG>yaHeQDCcu=dO6^i+S4 zZ%~-L%2zj8oZOFE4tau_-Ka-)fz;JXF;+MbU1h!Ls@8ln$LXT$aC>gHt);!TXcLC{ zXn9IiWgAj^U7JY!y*Z1ffX|tX2PQJT4ez(s4sH=Tp987y&*nnAzu&zV_0ZtJjrwt; zR(L5+RxJE>v8;M;us)wf>8oPzRrBvWeBzmyvAdt;u-`2Mdw*)1hiVr7oQ8Rm8f#X= z`6ByQ+c!|@_{Eo_Z|(DGJs*WJw34|9!v;#q2ew=S8PgN}VC&Kk#6rZ@-rCt{XKqo` zJvEVU$@1QOC29dY(Or3e5letCTzBUf|}O*4#2&({S#^u_K(*izJPcD;sJ;UARd5t0OA3N2Ou86 zjk=9P(PYMw>};N-Y6koW{0Imb5D`soHpHej6|ukHx$_>PhTD~p3yO_ZeQBZ438Y*WQR-k^EL<T8Ma#eA(2Y6l2#R-FvH(oBxV3 zb>m1rydB#dQkrl#L~1bOCR@r!i={COB^;BUYTV4(ObvESiZElvqHX>(|Ia)3j^{Va zmjuV^qG;nr?9yE`k))`%9Ym#ZOMmR@l8H)tIN0Iaj-_6NxCDC+aeY0d#lES=xjfZt zc!-)V)zg-bC5QAKA7r|yVxd?>bz9JCg1%w*FkSzEKJ1)nc`V+24%wC`k2kvy^4}t1 QtH+!F1KlQ!s4UI^04aVanE(I) literal 2122 zcmV-Q2(|YgiwFP!000021MOW~kJ>mCe($e9>FbQi{nF`7wcXXKD|J<=YM+rI2E5IM zb<9k8+26i)2m>Sp5}eSXJxIfdaB_})>|=lD!;as+`yNMwN5V3iCij|wbZtPANgC2* zcCUT?^5?Cuy?c1|Hl+BC_?s~t55yfwCO_S4bIuoUhQp_)ClswR%u|LUx?#N`$MRZn6?4w$c*)5i!7;hl#(45=#?oaHYHO)NZjweR8$9CZUVA+) zUfQrwG~Cm4MEe5I$e0oQtzNkjL`Em{4v2@e3HhyVuZhTpD(PhoC z%bKIvXpu6`Fy&Q~<1~#3PS#dATaxqbWD^{TE_SS1#`)T(l=JjN`KLI_np9wY`8nd+ zM(>Q#@ObddN^x7m(H01Nq_nw+$t$o##_D7o0aYPQ4o+i9A^{Z~wmwP}y zPi${j>~U*twG&b36NfnGOhmIK4M}#QGw;jPXqp#d!&81Q%PG1hq}d|EtK(HD3)Set z38!KV!x;%X8fof=$^L8zSvJybC%EyEu3L^>j?}8x>dcJC zWh+cpI+;bJKsi1#1Lwv=rXvj9S&p=5-xwzH&$Aj6j18g zDVN&Iq?Vb8vV)0K8w(+2>p@HF+Cg$q9M!5nHlMVyg5|g~l2O!o1(+z|2-mq^+4J!- z;&eeLl&|Wo7|LeyQJzKzt!!OnDYP+WOuqNk!g(`{FVYOPR+288VccgkjQeT^PQLTe zG_8)n^4ef3(#B{dNzP|sm z6|Bi*X345E_deIA>)RBkosozpWR$0?$7*DhYGf!F>$*l;#G6%gZoV1JaS|4Nfu{lr z+RsQcM~Gf!W9i6xP;j;<0m>ejUL%@uK(Y;xtO-aKkgO7tH2}#r zL$Yz2q}c*bNEOZgE>ILD43I1!*&Q?*v_Z1&k3zDhGLj9D5nP0cwR~htCUS#hZ3h|d zwG***-m4cC$kZ_m=a{H%Bgb>vNdB5ctiq&m48DqfOBV#VSU|9VV1bJT1PciEIuWd4 zw1KeRkAkpP7i4TsY)=9idtiPQZ;XV}CxB=H(E_3cL<@)(5bc#9T33OS_4@#{e_)Qs zI3ohpevwOSckrxU;90w?#jy^u`le*}E!}lO2KS3+Nkn4NH(65Mxz@D{b5kc`&OwIL z#UPT~IyGdO$lH%^vwOJsA&rS#QNB=~#6+9N2atGYbMa<(O^uzdrm|%c5|)pM3r1ti zR-=(|eeGzxcXll6wTH=nap146z}Ve~9t-D`1jTWUG&32Qc`9@z|1 z*DCw@!hsBncV?^F^34M099xI`bFH4rk=ol@CiLIsMJ$D6ibYN^ z68e^;+g3ZcQ|NL5B)`8{2(ADB^ikA7hl4QcCX8C)rIf`u`f>TJd~dK;A1B$fVgK3k z2NFFJPAB;Gy_ojTD?kxXZOc$C!l!YRcd4ObGh8mafA)O?lWws8a@DrmUUZz38Q%(2<7rFjkbUQur z3)Z;}ag0#-n$@f;7J?tr=j>JF$oNRuE-_Zv0b>Z+5QPjw|55s@7nfH z$RA<1P{$5vzu}@L;p`LxEx1>hb@= z)(-)p2ZSCFdO+v_p$CK>5PCpF01*L11P~EGL;w--Vu*+)M;98pG8IuA;C%KTqK4a* zknP&Ge2hcj+}W<|%yxci;R|IUnw?sB(0TP@904haq{Je23bfrW5j zAsko;2NuGCg>Ycul^s~IVGpm?AH?5`;rQXz|I_wY-(9Bw05!@8 AoB#j- diff --git a/planning/backend-structure.png b/planning/backend-structure.png new file mode 100644 index 0000000000000000000000000000000000000000..d4d9e6bbfa764a7193a8c6813023eede9534c334 GIT binary patch literal 60532 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 z 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 Zy8AwFlK=OE@xmjpo?vH@Ztk+>{{XXMWTgNA literal 0 HcmV?d00001 diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..7d18122 --- /dev/null +++ b/readme.md @@ -0,0 +1,52 @@ +# One Trip + +## Technologies Used + +### Backend +- Django +- Django Rest Framework (REST API) +- Django Channels (WebSocket interface) +- SQLite (Only because I am not deploying this to the Play Store) +- Redis (WebSocket cache) + +### Deployment +- Daphne (ASGI Application server) +- Nginx +- Ubuntu + +### Frontend +- Flutter + +## Pictures + +### Main Menu +![Login Screen](https://user-images.githubusercontent.com/44736322/204997033-fa10ceae-ae54-4816-b043-a1663532b5b3.png) + +### Profile Page +![Profile Page](https://user-images.githubusercontent.com/44736322/204997046-d3b09233-266f-4082-8f05-4b97d5369a18.png) + +### Search for Users +![Searching for users](https://user-images.githubusercontent.com/44736322/204997074-464c3b0c-96c2-4ac0-8e28-ebc1319c0065.png) + +### Create, Edit, and Delete Recipes +![Create Edit Delete Recipes](https://user-images.githubusercontent.com/44736322/204997088-cb4a34e4-9c09-408f-b15d-4b30a8409f5c.png) + +Recipes and individual ingredients can be deleted by swiping them off of the screen + +### Search for Recipes to add to Shopping List +![Search Recipes](https://user-images.githubusercontent.com/44736322/204997188-7e03d067-a26e-4629-be3f-ef9039eee54b.png) + +### Delete Items from List +![swipe](https://user-images.githubusercontent.com/44736322/205004229-c59ef486-edb6-4595-aa0c-846f008ab1a1.gif) + +### Shopping List Page +![Shopping List Page](https://user-images.githubusercontent.com/44736322/204997203-5341a35e-9269-43eb-a212-6404c8119482.png) + +### Backend Data Models +![backend-structure](https://user-images.githubusercontent.com/44736322/205004669-9f9387e0-1f76-42ac-8d49-d94cd17518aa.png) + + + + + +