This app allows you to search for and book entertainment for your event (App contains sample entertainers)
This app will allow users:
- Search for entertainers by type and location
- Read their profile
- View their gallery
- Listen to their recordings
- View their videos
- Book the entertainer
There are 2 types of users: General and Entertainer Entertainers must register in order to create a profile. General Users can search the site but must be registered and logged in in order to make bookings or leave Reviews Reviews are made via Disqus plugin, so a user must also log in on Disqus to leave reviews. This app talks to an API to filter out entertainers by type and location. Users can then click into individual profiles
- Home Page
- Search Page
- Profile Page
- Login Page
- User Registration Page
- Entertainer Registration Page
- Paypal payments
- API Docs page
- Contact form on Entertainer Profile
- DJango I used Django for the Backend. It facilitated modelling of the entertainers and users. I also created an API that the search page could communicate
- Python Django uses Python
- AWS
- The app stores it's STATIC and user uploadable MEDIA files in an S3 bucket
- Heroku
- Hosts the application
- Paypal
- Paypal Sandbox is used in order to facilitate test payments
- Disqus
- Disqus is used to facilitate User Reviews of entertainers
- JQuery
- JQuery is used to allow a responsive front end and to talk to the API
- Bootstrap
- Bootstrap is used more menus and to give the app a simple responsive layout. I used version 4
- GITHUB
- Facilitates code sharing and version control
- Log in to https://developer.paypal.com/
- For testing, ensure you have a PAYPAL Personal and Business accounts set up as they will be needed to make purchases
- For running on localhost, you will need to download ngrok.exe to suit your platform from ngrok website. Save it to your app's route folder
- Open cmd prompt and navigate to app's route folder
1.If running locally, open cmd or Pycharm terminal, tell manage.py that you want to run in developer environment each time you do a command involving manage.py
1. E.G. Type 'python manage.py runserver --settings=settings.dev'
2.RUN NGROK by typing 'ngrok http 8000'
1. Can view requests in browser @ http://127.0.0.1:4040
3. In settings.py copy the https forwarding address setting from the running ngrok console.
- We need to add the address to the ALLOW_HOSTS list
- Also set PAYPAL_NOTIFY_URL with the same address
- E.G. PAYPAL_NOTIFY_URL = 'https://9f37a350.ngrok.io/to-ngrok-or-not-to-ngrok/
- The '/to-ngrok-or-not-to-ngrok/' corresponds to the PAYPAL route defined in /urls.py as
- url(r'^to-ngrok-or-not-to-ngrok/', include(paypal_urls)),
- Run the program with command 'python manage.py runserver'
- Download and install MYSQL Workbench
- To retrieve connection settings, open command line and type:
- heroku login
- heroku config --app bookanentertainer
- Retrieve the CLEARDB_DATABASE_URL setting
- Since static files are hosted on AWS, any change made to JS or CSS files locally must be followed by the command
- python manage.py collectstatic
- This will then auto update the files in your S3 bucket
- Then you should also push the new code to the master branch on GITHUB