- Build an Angular / React, or Vue web app
- Consume Giphy REST Api for search
- The app should deal with data using Redux design pattern on Angular/React
- User should be able to search gifs by names
- Gifs should be presented in a grid
- Data pagination needs to be on. the app should fetch 10 results per call. Once the user scrolls to the end of a page, another batch of data gets loaded and presented to the user
- The app should be deployed to AWS, GCP, Azure, or Heroku
- Whatever framework is used, the app should be built on Typescript (not Javascript)
To setup the project for development, please follow these steps:
- Download my project as a zip or clone my repository using this command
git clone https://github.com/fidellim/Giphy-Rest-API-Search-App.git
- Once you are on the directory of the project using terminal, install all dependencies:
- npm:
npm install
- yarn:
yarn install
- npm:
- After that you can start running the project in development server using this command:
- npm:
npm start
- yarn:
yarn start
- npm:
To run the project in a production build, please follow these steps:
- Make sure you have a build folder for the project.
- npm:
npm build
- yarn:
yarn build
- npm:
- Add serve dependency
- npm:
npm install -g serve
- yarn:
yarn global add serve
- npm:
- Finally, you can run with this command:
- npm/yarn:
npx serve -s build
- npm/yarn:
If you would like to deploy the project in Heroku
, please follow these steps:
- Create an account. If you already have, just login.
- Create a new app using the “New” button in the top right corner of home page.
- Then, you can enter the name for your app. Choose the region along with it.
- To deploy your app in Heroku, there are three ways:
Heroku Git
,GitHub
,Container Registry
. For this project, I opted forConnect to GitHub
. - A buildpack is also needed in deploying the react app. By default, Heroku uses their own but this will cause an error if not replaced. In order to do that, go to the Settings tab. Scroll down to the Buildpack section (see screenshot below) and click on the Add Buildpack button. Copy and paste the link send below:
https://github.com/mars/create-react-app-buildpack.git
- Now, you can go back to deploy tab and connect with your GitHub account.
- Search for the repository you would like to deploy (make sure to choose the right branch). You could also enable
Automatic Deploys
. So that every time you push your changes to GitHub, Heroku will automatically redeploy your app. - Finally, click the
Deploy Branch
button. After a few minutes, you will be able to view your app!
- React Switch - package used for creating toggle switch.
- Dark Mode Switcher - implement dark and light theme to app using SCSS.
- Env variables w/o using dotenv - I - hide confidential variable values in React.
- Env variables w/o using dotenv - II - hide confidential variable values in React.
- Search bar inspiration - search bar design in Dribbble.
- ReactDOM.render not supported in React 18 - ReactDOM.render is no longer supported in React 18.
- GIPHY-JS Documentation - documentation of components related to GIPHY API.
- GIPHY Developers - I - documentation of GIPHY API.
- GIPHY Developers - II - documentation of GIPHY API.
- Heroku Deployment - guide on deploying React app using Heroku.
- Redux Toolkit - TypeScript