art/frontend/README.md

83 строки
2.5 KiB
Markdown

# Installing and Running
To run this, you'll need the latest version of Node.js installed.
Open the project root and run `npm install`.
To access the Rijksmuseum API, create a `.env` file in the project root with the following text:
```
REACT_APP_RIJKSMUSEUM_API_KEY={yourapikey}
```
where `{yourapikey}` is replaced by your personal API key. More details about the API are found [here](https://data.rijksmuseum.nl/object-metadata/api/).
Then run `npm start`.
# Design framework
This project uses React Fabric UI.
https://developer.microsoft.com/en-us/fabric#/controls/web/contextualmenu
# Prepareing for Build
Since we use Client Side routing, some hacks need to be introduced to get the site working on github pages.
Step One: Modify Source Code
1. Package.json
After the "name" line insert the line
"homepage":"https://microsoft.github.io/art/",
This enables the website to know what its base URL is.
2. ResultArtwork.tsx: exploreArtUrlSuffix(), line 42
change '/' to '/art/'
3. NavBar.tsx, line 23
change '/' to '/art/'
4. ResultBox.tsx: exploreArtUrlSuffic(), line 36
change '/' to '/art/'
NOTE: It is not needed to change the URL generation in SubmitControl, since it "pushes" too the end of the homepage URL.
Step Two: Make the Build
run 'npm run build'
This makes a build and populates the build folder.
Step Three: Hack the Build
We follow the instrucions on this page: https://github.com/rafrex/spa-github-pages
1. In the build folder, create a 404.html file, and copy in the contents from the above link.
On line 26, change segmentCount from 0 to 1. This enables the site to handle the /art/ at the end of the homepage URL.
2. In the html, between the noscript and script tags (right after the root div), copy in the script from the above link
Step Four: Deploy the Hacked Build
run 'npm run deploy'
This takes the contents of the build folder, and deploys it to the github pages. It also makes a push to the gh-pages branch of a repo.
# Converting From Deploy to Local
Revert the changes made in the Source Code in Step One of Preparing for Build
# Todo
Add Information at the bottom of the page
- This would be accomplished by adding to the end of the ExplorePage Heirarchy
Carousel Random Picks
- This involves changing the default queries made in ExplorePage
Move Matches Functionality
- This would involve moving the call stack found in an ExplorePage Button to wherever else the functionality needs to be
MultiAcces Queries
- This would probably involve a change of the APi and a change how we handle the data from the Dropdown menus