Skip to main content

WWW Folder Documentation

Overview

The www folder contains the front-end web application for the TunnelFlight project. This is a Node.js/Express application that serves as the main user interface for the platform.

Architecture

Technology Stack

  • Backend: Node.js with Express framework
  • View Engine: EJS (Embedded JavaScript)
  • Styling: SASS/SCSS with Bootstrap 5.1.3
  • Build Tools: ESBuild, Terser, PostCSS
  • Authentication: Passport.js with Google OAuth 2.0
  • Database/Cache: Redis
  • Logging: Winston
  • Icons: Feather Icons, Font Awesome

Key Features

  • Multi-language support (English, Spanish, French)
  • User authentication and authorization
  • Dashboard and profile management
  • Logbook functionality
  • Safety training modules
  • Member directory
  • Payment processing
  • Real-time notifications

Project Structure

www/
├── src/ # Source code
│ ├── assets/ # Static assets (SASS, scripts)
│ ├── config/ # Configuration files
│ ├── controllers/ # Route controllers
│ ├── middleware/ # Express middleware
│ ├── routes/ # Route definitions
│ ├── services/ # Business logic services
│ ├── views/ # EJS templates
│ └── lib/ # Utility libraries
├── public/ # Compiled/static assets
├── docs/ # Documentation
├── package.json # Dependencies and scripts
└── app.js # Application entry point

Getting Started

Prerequisites

  • Node.js 20.11.1
  • Redis server
  • Environment variables configured

Installation

cd www
npm install

Development

npm run dev    # Start with hot reload
npm run debug # Start with debugging

Build

npm run build  # Build CSS and JS assets
npm run watch # Watch for changes