Made with ♥ by LydianLights - BennyExtreme fork
This is a tool for designing production chains in Satisfactory. You can choose what and how many items you want to produce, and what items and recipes are available to you, and the calculator will calculate the entire production chain for those items. This particular tool was built with designing mega-bases with ridiculous production needs in mind, so the solver is fast regardless of the complexity of the production goals.
Powered by satisfactory-docs-parser.
https://bennyextreme.github.io/yet-another-factory-planner/
- Choose production goals, available resources, and allowed recipes, and the solver will find the best production chain.
- Every factory is stored as a sharable link for easy saving and collaboration.
- All calculations are done in-browser... meaning no server communication to slow down site responsiveness. It's FAST!
- When choosing production goals you can choose either a target item/min rate, a target number of copies of a recipe, or you can maximize the production given the available resources.
- You can also choose AWESOME Sink Points as a production goal :D
- Recipes involving Nuclear Power Plants can be used, unlike other current production planners.
- All weights that the solver uses when determining the best production chain are made transparent and customizable by the user. Want to reduce how much you value Crude Oil and increase how much you value Copper Ore? Well now you can!
- Hand-gathered materials can optionally be included as inputs.
- Detailed Reporting section that calculates some interesting statistics including points produced, estimated power usage (or production), and minimum build area.
- Detailed breakdown of materials needed to construct the factory (which is SUPER helpful for huge factories). This includes a rough estimate on the minimal number of foundations required, and a list of all buildings required and their total build costs.
Note This guide is for Windows
Setup your personal repository for changes:
- Fork this repository
- Go in
Settings
>Pages
- In the
Branch
section selectNone
and set it togh-pages
- If you have a custom domain set it under the
Custom domain
field
Setup the database for the application:
- Create an account on Back4app
- Go on My Apps page
- Click on Build new app
- Click on
Skip
- Click on
Backend as a Service
- Insert a name for your app (like
yet-another-factory-planner
) - Tick
NoSQL Database
if not already done - Click on
Create
- Go in
App Settings
- In
General
section write down in a notepad or something theParse API Address
value - In
Security & Keys
section write down in a notepad or something theApplication ID
value and theMaster key
value (click on theShow Master Key
button to reveal)
Setup the API for the application:
- Go on My Apps page
- Click on Build new app
- Click on
Skip
- Click on
Containers as a Service
- Connect your GitHub account and select your forked repository
- Insert a name for your app (like
yet-another-factory-planner
) - In the
Build and Deploy
section set theRoot Directory
to./api/
- In the
Enviroment Variables
section add the followings variables-
Name:
PORT
Value:
8000
-
Name:
CLIENT_APP_URL
Value:
https://<username>.github.io
(If you have set a custom domain in thePages
settings of your repository then use that) -
Name:
LOG_LEVEL
Value:
verbose
-
Name:
PARSE_APP_ID
Value: Insert the value that you wrote down previously (in the
Application ID
field) -
Name:
PARSE_MASTER_KEY
Value: Insert the value that you wrote down previously (in the
Master key
field) -
Name:
PARSE_SERVER_URL
Value: Insert the value that you wrote down previously (in the
Parse API Address
field)
-
- Click on
Create App
- On the top left you can find the link of the container (your API link), write it down in a notepad or something
Link your client (frontend) to your API (backend):
- Install NodeJS
- Install Git
- Open the terminal
cmd
- Clone the repository in your PC
git clone https://github.com/<username>/yet-another-factory-planner.git
- Open the repository folder
cd yet-another-factory-planner
- Open the client folder
cd client
- Install all the requirements using
npm i
- Open
package.json
and modify thehomepage
value (https://bennyextreme.github.io/yet-another-factory-planner/
) tohttps://<username>.github.io/yet-another-factory-planner/
(If you have set a custom domain in thePages
settings of your repository then use that) - If you have a custom domain set the
predeploy
value tonpm run build && echo <yourDomain> > ./build/CNAME
(e.g.npm run build && echo satisfactory.example.com > ./build/CNAME
) - Copy the file
.env.example
to.env
- Open it and modify the
REACT_APP_API_BASE_URL
value to the API link you wrote down previously from the Back4app application - Re-open your terminal in the client folder and execute
npm run deploy
This site uses React and Typescript, and requires Node v16.x.x. The repo is split into two separate apps, client and api.
PR's are always welcome! If you have any trouble getting the project running locally, feel free to ask me any questions!