This repository contains the documentation for the CleverCoffee PID controller project. This manual covers all the necessary steps. This includes installing PlatformIO and uploading the code to the microcontroller. The manual also includes the parts list, information about installing and configuring the PID parameters.
You can find our project website here: Clever Coffee Website.
This documentation ist build with Nextra and Next.js. Following you will find information on how this is setup.
- Prerequisites
- Installation
- Running the Development Server
- Building the Project
- Serving the Static Site Locally
- Troubleshooting
- Contributing
- License
- Acknowledgements
Before you begin, ensure you have met the following requirements:
CleverCoffee requires Node.js version 20 or higher. You can verify your current Node.js version by running:
node -v
If you need to install or update Node.js, download it from the official website or use a version manager like nvm.
CleverCoffee uses pnpm as its package manager for efficient dependency management.
You can install pnpm
globally using npm
:
npm install -g pnpm
Verify the installation by checking the version:
pnpm -v
Follow these steps to set up the CleverCoffee project locally after having checked out the code.
Install all necessary dependencies using pnpm
:
pnpm install
This command will read the package.json
and install all required packages into the node_modules
directory.
To start the development server with hot-reloading:
pnpm dev
After running the command, open your browser and navigate to http://localhost:3000 to view the site.
To create an optimized production build and generate static files:
pnpm build
This process performs the following:
- Compiles the Project: Transforms TypeScript and JSX/TSX files into JavaScript.
- Generates Static Assets: Creates static HTML, CSS, and JavaScript files in the
out
directory for deployment.
After building the project, you can serve the static site locally to verify everything works as expected.
serve
is a simple static file server for Node.js.
If you haven't installed serve
yet, do so using pnpm
:
pnpm add -g serve
Navigate to the project root (if not already there) and run:
serve -s out
-s
or--single
: Enables Single Page Application (SPA) mode, which redirects all routes toindex.html
. This is essential for client-side routing features like search.
Open your browser and navigate to http://localhost:5000 (default port) to view the static site.
To serve the site on a different port, use the -l
flag:
serve -s out -l 3000
Now, access the site at http://localhost:3000.
If you encounter issues with the search feature, such as the error "page find could not be loaded," ensure that:
- SPA Mode is Enabled: Serving the site with the
-s
flag inserve
ensures proper client-side routing. - Search Index Files are Present: After building, verify that search-related assets (e.g.,
search-index.json
) exist in theout
directory. - No JavaScript Errors: Open the browser's developer console to check for any runtime errors that might affect search.
Ensure that you are using Node.js version 20 or higher. If not, update Node.js and reinstall dependencies:
pnpm install
If the pnpm
command is not found:
-
Ensure
pnpm
is installed globally:npm install -g pnpm
-
Restart your terminal or command prompt after installation.
If you encounter missing dependency errors during build or runtime, try reinstalling dependencies:
pnpm install
Ensure that your TypeScript configurations are correct and that there are no type errors. Run type checking with:
pnpm type-check
If you have a type-check script defined in your package.json
, use it accordingly.
Contributions are welcome! Please follow these steps to contribute:
-
Fork the Repository
-
Create a New Branch
git checkout -b feature/YourFeatureName
-
Make Your Changes
-
Commit Your Changes
git commit -m "Add your detailed description of changes"
-
Push to the Branch
git push origin feature/YourFeatureName
-
Open a Pull Request
Please ensure your contributions adhere to the project's coding standards and include relevant tests where applicable.
This project is licensed under the MIT License.
- Nextra for the beautiful documentation framework.
- Next.js for the powerful React framework.
- pnpm for the efficient package management.
- Serve for the easy-to-use static server.
This manual is available as open source under the terms of the MIT License.