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