Front-end repo utilizing the arDB API, containing web scraped data of advanced nuclear reactor designs.
Explore the docs »
View Client Site
·
View API Site
As an energy wonk, I've notice how difficult it is find up to date information on advanced nuclear reactor designs. This project aims to aggregate information on all advanced nuclear reactor technologies that exist around the world.
This project is the second iteration of the arDB (Version One Link). This second iteration enhances the scraper to allow for multiple sources, and builds out the front end using React.js. It is a work in progress and the data is constantly evolving as I enhance my web scraper script and add new sources.
Navigate to Backend Repository:
Tech used:
The data for this API project was obtained by creating a custom web scraper script using Cheerio. At the moment, the scraper pulls data from the International Atomic Energy Agency but the scraper will be enhanced to receive multiple url inputs (if you have any quality sources, please let me know!).
This API can be accessed via https://api-ardb.vercel.app/api or as a local copy. To get a local copy up and running follow these simple example steps.
- Return full API database
https://api-ardb.vercel.app/api
- Search API by Reactor Name
https://api-ardb.vercel.app/api/:reactorName
- Return List of all Reactor Types
https://api-ardb.vercel.app/api/categories
- Search API by Reactor Types
https://api-ardb.vercel.app/api/categories/:reactorType
- Clone the repo
git clone https://github.com/github_username/repo_name.git
- Install NPM packages
npm install
- Run server
npm run dev
- Navigate to server
`localhost:5173`
- Finish building out the search reactor feature
- Interactive data table feature to sort reactors by specific item (eg. thermal output)
- Feature: Build Login-authentication portal
- Feature: to allow reactor developers to add reactor data
- Refactor front end react and back end code
See the open issues for a full list of proposed features (and known issues).
My biggest take away is how powerful JavaScript is as a language. Prior to this project, I assumed that I would always need Python to scrape any web content. After finding Cheerio, scraping content became--dare I say--a much less daunting experience due to how intuitive and easy to use Cheerio is.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
Distributed under the MIT License. See LICENSE.txt
for more information.
Daniel Kim - @devdanielk - dan.jkim21@gmail.com
Project Link: https://github.com/danjkim21/adv-nuclear-reactor-client
Live Link: https://ardb.vercel.app/
Project V1 Repo: https://github.com/danjkim21/adv-nuclear-reactor-api