šŸ“ Clipper File Server

šŸš€ A powerful and elegant Node.js file server powered by Express and Flmngr for seamless file management

Node.js Express.js License: ISC Live Demo

šŸ“– Description

Welcome to Clipper File Server - your go-to solution for lightweight yet powerful file management! šŸŽÆ

This project creates a robust server environment that seamlessly handles file uploads, organization, and management. Built with the reliability of Express.js and enhanced with the feature-rich Flmngr library, it provides an intuitive web interface for all your file management needs.

Whether you're building a content management system, creating a file sharing platform, or just need a simple way to handle file uploads, Clipper File Server has got you covered! šŸ’Ŗ

✨ Features

  • šŸ“¤ Effortless File Uploads: Drag and drop files with ease
  • šŸ—‚ļø Smart File Organization: Browse, organize, and manage your files intuitively
  • šŸŽØ Rich UI Experience: Beautiful, responsive file manager interface powered by Flmngr
  • ⚔ Express.js Foundation: Built on the rock-solid Express.js framework for reliability
  • šŸ”§ Zero-Config Setup: Get up and running in minutes with minimal configuration
  • 🌐 Cross-Platform: Works seamlessly across different operating systems
  • šŸ“± Responsive Design: Access your files from any device

šŸš€ Getting Started

Ready to dive in? Let's get your file server up and running!

šŸ“‹ Prerequisites

Before we begin, make sure you have these tools installed:

  • 🟢 Node.js (v14 or later recommended)
  • šŸ“¦ npm (comes with Node.js)

šŸ› ļø Installation

Follow these simple steps to set up your file server:

  1. Clone the repository šŸ“„

    git clone https://github.com/kuldeep-jadeja/clipper-file-server.git
    cd clipper-file-server
    
  2. Install dependencies šŸ“š

    npm install
    

šŸŽ¬ Running the Server

Time to bring your server to life!

  1. Start the server 🚦

    node app.js
    
  2. Success! šŸŽ‰ You'll see this message in your console:

    Server Started at PORT: 3041
    
  3. Access your file manager 🌐

    Open your favorite browser and navigate to:

    šŸ  Home Page: http://localhost:3041

    šŸ“ File Manager: http://localhost:3041/file-server

The Flmngr interface will load, giving you full control over your file management operations!

šŸŽÆ Usage Examples

Basic File Operations

  • Upload files: Simply drag and drop files into the interface
  • Create folders: Right-click to create new directories
  • Move files: Drag files between folders
  • Delete files: Select and delete unwanted files
  • Preview files: Click on files to preview them

API Endpoints

  • GET / - Welcome message
  • GET /file-server - File manager interface
  • POST /flmngr - File management operations
  • GET /files/* - Access uploaded files

šŸ“ Project Structure

Here's what's inside your file server:

clipper-file-server/
ā”œā”€ā”€ šŸ“„ app.js                    # šŸš€ Main server application
ā”œā”€ā”€ šŸ“„ package.json              # šŸ“¦ Project metadata and dependencies
ā”œā”€ā”€ šŸ“„ README.md                 # šŸ“– You are here!
ā”œā”€ā”€ šŸ“‚ public/
│   └── šŸ“‚ upload/              # šŸ’¾ File storage directory
└── šŸ“‚ test/
    ā”œā”€ā”€ šŸ“„ flmngr-example.html   # šŸŽØ File manager demo page
    └── šŸ“„ flmngr-example.js     # āš™ļø Client-side JavaScript

šŸ“ File Descriptions

FileDescription
app.jsšŸŽÆ The heart of your server - handles routing and Flmngr integration
package.jsonšŸ“‹ Contains project info, scripts, and dependency management
public/upload/šŸ—ƒļø Your file storage vault - all uploaded files live here
test/flmngr-example.htmlšŸ–„ļø Demo interface showcasing the file manager capabilities
test/flmngr-example.jsšŸ”§ Client-side logic for the file manager interface

šŸ› ļø Dependencies

Our carefully chosen tech stack:

PackageVersionPurpose
šŸš€ expressLatestFast, minimalist web framework for Node.js
šŸ“ @flmngr/flmngr-server-node-express^1.5.3Server-side Flmngr integration for Express
šŸŽØ flmngr^2.0.19Rich file manager client-side library

šŸ”§ Configuration

Environment Variables

You can customize your server using these environment variables:

PORT=3041                    # 🚪 Server port (default: 3041)

Custom Configuration

Want to customize your setup? Here are some options:

// In app.js, you can modify:
const PORT = process.env.PORT || 3041; // 🚪 Change default port
dirFiles: "./public/upload"; // šŸ“ Change upload directory
urlFiles: "/files/"; // 🌐 Change file access URL
urlFileManager: "/flmngr"; // šŸŽ›ļø Change manager URL

🚨 Troubleshooting

Common Issues

ProblemSolution
🚫 Port already in useChange the PORT environment variable or kill the process using the port
šŸ“ Upload folder not foundThe server creates it automatically, but ensure write permissions
🌐 Can't access from other devicesUse 0.0.0.0 instead of localhost and check firewall settings

Debug Mode

Run the server with debug information:

DEBUG=* node app.js

šŸ¤ Contributing

We love contributions! Here's how you can help make Clipper File Server even better:

  1. šŸ“ Fork the repository
  2. 🌟 Create a feature branch (git checkout -b feature/amazing-feature)
  3. šŸ’« Commit your changes (git commit -m 'Add amazing feature')
  4. šŸ“¤ Push to the branch (git push origin feature/amazing-feature)
  5. šŸŽ‰ Open a Pull Request

šŸ“œ License

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

šŸ™ Acknowledgments

  • šŸ’ Built with love using Express.js
  • šŸŽØ Powered by the amazing Flmngr file manager
  • 🌟 Inspired by the need for simple yet powerful file management solutions

šŸ“ž Support

Having issues or questions? We're here to help!


⭐ Star this repo if you find it helpful! ⭐

Made with ā¤ļø by Kuldeep Jadeja