LILYPAD is React based travel assistant app that aims to provide frequent travelers a quick snapshot of news, events, translations etc for a city they wish to visit
- React
- JSX
- Material UI (MUI)
- Node.js
- Docker
- OpenWeatherMap API
- Ticketmaster API
- RestCountries API
- GNews API
- City API
- FreeCurrencyAPI
- LibreTranslate
- Pexels Photo API
To install the app on your local computer, you will need to fork this repo.
Once the repo is cloned, you will need to run npm install
or npm i
in your command line/terminal in order to install all the dependencies to run the application successfully/
OpenWeatherMap API, TicketMaster API, News API, FreeCurrency API & Pexels Photo API calls require an API key. The keys are all provided in the 'DataProvider.jsx' file, however please note there is a limit to how many calls are allowed per day. Thus if the maximum call is reached, you will need to wait or get a new API key to make further requests
Due to the 'RestCountries' being depreciated in May 2023 and the Translate API being a custom API, these APIs can only be run locally. Thus in order to use these APIs, you must install Docker Desktop and build the Docker images found in the respective repos. You can find the RestCountries API files here and the LibreTranslate files here.
We've created a Makefile that you can use to clone both repositories, build the Docker files and then start the containers. It also contains a command to start the application. To use the Makefile, once you've cloned our repo, cd
into it and enter make build
into your terminal. You only need to do this once, unless issues are encountered.
We've adjusted the build commands for Macs running on Apple M chips and if you have one of these machines, everything should install correctly.
To initialise the Docker containers and the app, you can then run make start
. You can do this in one go after cloning the repo, by typing in make build start
which will install everything and start the app when the build has finished. For future app starts, just use the make start
command.
If not using Docker, once all the dependencies are installed, you will need to run npm run start
to initialise the app. A new tab will open in your browser automatically to render the app.
Use npm start
to run the application in development mode. This should automatically open it in your local browser via http://localhost:3000. The page will reload when you make changes and you may also see errors in the console.
The following libraries were used for testing:
- React Testing Library
Use npm test
to launch the test runner in the interactive watch mode.
See the section about running tests for more information.