š Clipper File Server
š A powerful and elegant Node.js file server powered by Express and Flmngr for seamless file management
š 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:
š ļø Installation
Follow these simple steps to set up your file server:
-
Clone the repository š„
git clone https://github.com/kuldeep-jadeja/clipper-file-server.git cd clipper-file-server -
Install dependencies š
npm install
š¬ Running the Server
Time to bring your server to life!
-
Start the server š¦
node app.js -
Success! š You'll see this message in your console:
Server Started at PORT: 3041 -
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 messageGET /file-server- File manager interfacePOST /flmngr- File management operationsGET /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
| File | Description |
|---|---|
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:
| Package | Version | Purpose |
|---|---|---|
š express | Latest | Fast, minimalist web framework for Node.js |
š @flmngr/flmngr-server-node-express | ^1.5.3 | Server-side Flmngr integration for Express |
šØ flmngr | ^2.0.19 | Rich 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
| Problem | Solution |
|---|---|
| š« Port already in use | Change the PORT environment variable or kill the process using the port |
| š Upload folder not found | The server creates it automatically, but ensure write permissions |
| š Can't access from other devices | Use 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:
- š“ Fork the repository
- š Create a feature branch (
git checkout -b feature/amazing-feature) - š« Commit your changes (
git commit -m 'Add amazing feature') - š¤ Push to the branch (
git push origin feature/amazing-feature) - š 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!
- š Bug Reports: Create an issue
- š” Feature Requests: Start a discussion
- š§ Contact: Open an issue for any questions
ā Star this repo if you find it helpful! ā
Made with ā¤ļø by Kuldeep Jadeja