Entertainment Event Search is a single page application that allows users to search for entertainment events on Ticketmaster and display the results in a table. Once the user clicks on an event, the webpage will show the detailed information of that event, including basic information, artist/team info, venue info and upcoming events. There is also a favorites list, and users can add or remove events from the list to save events they like.
The highlight of the application is that it integrates information from different APIs and displays it in a very clear way. So instead of switching between different websites, uses can save their time and get all the information they need in a single webpage.
This project has been deployed on AWS (temporarily removed)
This project was generated with Angular CLI version 7.0.3.
-
Make sure you have installed Node.js.
-
Under the project folder, run
NODE_ENV=development node server.js
. The backend will be hosted onhttp://localhost:3000/
. -
You can test the server using following links (make sure the backend works before you move to frontend):
http://localhost:3000/api/autocomplete?keyword=lakers
http://localhost:3000/api/search?keyword=lakers&catagory=all&distance=10&unit=miles&lat=34.0266&lng=-118.283
http://localhost:3000/api/search?keyword=Lady+gaga&catagory=all&distance=10&unit=miles&location=las+vegas
http://localhost:3000/api/detail?id=G5eYZ4YJsDZlT
http://localhost:3000/api/music?keyword=Maroon+5&index=0
http://localhost:3000/api/image?keyword=Maroon+5
http://localhost:3000/api/venue?keyword=STAPLES+Center
http://localhost:3000/api/upcoming?keyword=STAPLES+Center
-
After hosting backend, in another terminal, run
ng serve
for a dev frontend server. -
After you see "Complile successfully", navigate to
http://localhost:4200/
to view the webpage. The app will automatically reload if you change any of the source files. -
After you are done, use
^C
to terminate both processes.
-
Create a new web server enviroment on Elastic Beanstalk. Choose the Node.js preconfigured platform.
-
After you set your domain name, open file
environment.prod.ts
, and change the apiUrl field in the enriroment object to your domain name. Save the project. -
Run
ng build --prod
to build the project. The build artifacts will be stored in thedist/
directory. The--prod
flag is for a production build.
-
After the build is done, compress
server.js
,package.json
anddist/
folder into an archive namedArchive.zip
. Upload the archive to AWS and deploy it. -
Add an environment property
NODE_ENV
with valueproduction
(Configuration - Software - Environment properties). -
After the status change to "Ok", you can navigate to your domain of choice to view your event search web app.