Skip to content

DeVinci-FabLab/documentation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

DVFL Documentation

The comprehensive documentation platform for DeVinci Fablab

License: MIT Node.js Docusaurus pnpm

DocumentationReport BugRequest Feature


Overview

This is the official documentation site for DeVinci FabLab, a comprehensive platform built with Docusaurus that provides guides, tutorials, workshops, and reference materials for all tools and services available at the Fablab. The documentation covers 3D printing, electronics, fabrication, IT courses, safety guidelines, and more.

Features

  • Multi-language support (French & English)
  • Full-text search powered by Algolia
  • Dark mode support
  • LaTeX/KaTeX math rendering
  • Workshop blog section
  • Comprehensive equipment guides
  • IT training courses
  • Safety and charter documentation

Table of Contents


Getting Started

Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js >= 18.0 (Download)
  • pnpm 10.19.0 or higher (Installation guide)
  • Docker (optional, for containerized development) (Download)
  • Make (optional, for using Makefile commands)

Installation

  1. Clone the repository:
git clone https://github.com/DeVinci-FabLab/documentation.git
cd documentation
  1. Navigate to the site directory:
cd site
  1. Install dependencies:
pnpm install

Development

Using npm/pnpm scripts

Start the development server:

cd site
pnpm start

The site will be available at http://localhost:3000. Changes will be hot-reloaded automatically.

Using Docker & Makefile

For a containerized development environment:

make dev

This will:

  • Build and start the Docker container
  • Mount the project directory for live reloading
  • Expose the site at http://localhost:3000
  • Stream logs to your terminal

To stop the development server:

make stop

Production Builds

Local production build

cd site
pnpm build
pnpm serve

Using Docker

For a local production build with Docker:

make prod-local

For a full production deployment:

make prod

Documentation Structure

Documentation/
├── site/                       # Docusaurus site
│   ├── docs/                   # Documentation content
│   │   ├── 3d_printing/        # 3D printing guides
│   │   ├── it_courses/         # IT training materials
│   │   ├── spaces_charters/    # Space usage charters
│   │   ├── intro.md            # Introduction page
│   │   ├── safety.md           # Safety guidelines
│   │   └── srg.md              # Internal regulations
│   ├── blog/                   # Workshops content
│   ├── i18n/                   # Internationalization
│   │   ├── en/                 # English translations
│   │   └── fr/                 # French content
│   ├── src/                    # React components & custom CSS
│   ├── static/                 # Static assets
│   ├── docusaurus.config.ts    # Docusaurus configuration
│   ├── sidebars.ts             # Sidebar configuration
│   └── package.json            # Dependencies
├── docker/                     # Docker configurations
├── .github/                    # GitHub templates & workflows
├── makefile                    # Automation commands
└── README.md                   # This file

Makefile Commands

At the project root:

Command Description
make update Pull latest changes from repository
make dev Start Docker development environment
make prod-local Local production build with Docker
make prod Production deployment with Docker
make stop Stop all Docker containers
make restart-dev Restart development environment
make restart-prod-local Restart local production environment
make restart-prod Restart production environment
make clean Clean all packages and containers
make write-translations Extract translatable strings

Docker Support

The project includes comprehensive Docker support for both development and production environments:

Development Environment

make dev

Uses docker/compose.dev.yml with hot-reloading and source mounting.

Production Environment

make prod

Builds optimized static files and serves them with nginx.

Configuration Files

  • docker/Dockerfile - Multi-stage Docker build
  • docker/compose.dev.yml - Development configuration
  • docker/compose.prod-local.yml - Local production testing
  • docker/compose.yml - Production deployment
  • docker/healthcheck.sh - Container health checks

Contributing

We welcome contributions from the community! Whether you want to add new courses, fix typos, improve documentation, or suggest features, your help is appreciated.

Please read our Contributing Guidelines for detailed information on:

  • How to submit pull requests
  • Code of conduct
  • Development workflow
  • Documentation standards

Quick Start for Contributors

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Commit using conventional commits (git commit -m 'feat: add amazing feature')
  5. Push to your branch (git push origin feature/amazing-feature)
  6. Open a Pull Request

For more details, see:


Troubleshooting

Build Failures

If you encounter build errors:

# Clear Docusaurus cache
cd site
pnpm clear

# Clean all dependencies
make clean

Docker Issues

# Remove all containers and rebuild
make clean
make dev

Port Already in Use

If port 3000 is already in use, modify the port in docker/compose.*.yml or kill the process using the port.

pnpm Not Found

Install pnpm globally:

npm install -g [email protected]

Or use corepack (Node.js 16.9+):

corepack enable
corepack prepare [email protected] --activate

Supported Platforms

This documentation site is tested and supported on:

  • Linux (Ubuntu 20.04+, Debian 10+)
  • macOS (11.0+)
  • Windows (10/11)
  • Docker (any platform)

The site itself is accessible from any modern web browser on any platform.


Supported Languages

  • French (fr) - Default language
  • English (en) - Full translation support

To contribute translations, see the i18n documentation.


License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with by the DeVinci Fablab team

⬆ Back to Top

About

Documentation website built with Docusaurus for fabrication technologies.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages