Skip to content

Thavanish/G-files

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 

Repository files navigation

G_Files

A modern, secure, and extensible file management system with a plugin architecture.

License Version

πŸš€ Features

  • πŸ“ Advanced file management with drag-and-drop support
  • πŸ”Œ Plugin system for extending functionality
  • πŸŽ₯ Built-in media viewer (images, videos, PDF)
  • πŸ“ File editor with syntax highlighting
  • πŸ” Full-text search with metadata indexing
  • πŸ”„ File versioning and history
  • πŸ” Enterprise-grade security
  • 🎨 Customizable themes
  • πŸ’Ύ Automated backups
  • πŸ“± Responsive design for mobile devices

πŸ› οΈ Technology Stack

  • Backend: Java 17, Spring Boot 3.x
  • Frontend: React 18, Tailwind CSS
  • Database: PostgreSQL
  • Security: JWT, Spring Security
  • Testing: JUnit, React Testing Library
  • Build Tools: Maven, npm
  • CI/CD: GitHub Actions

πŸ“‹ Prerequisites

  • Java 17 or higher
  • Node.js 18 or higher
  • PostgreSQL 13 or higher
  • Maven 3.8+
  • Git

πŸš€ Quick Start

  1. Clone the repository
git clone https://github.com/your-username/G_Files.git
cd G_Files
  1. Setup database
sudo -u postgres psql
CREATE DATABASE gfiles;
CREATE USER gfiles WITH ENCRYPTED PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE gfiles TO gfiles;
  1. Configure application
cp .env.example .env
# Edit .env with your settings
  1. Run the application
# Backend
cd backend
mvn spring-boot:run

# Frontend
cd frontend
npm install
npm start

Visit http://localhost:3000 to access G_Files.

πŸ”’ Security Features

  • CSRF protection
  • Rate limiting
  • Anti-virus scanning
  • XSS prevention
  • Input validation
  • JWT authentication
  • Content Security Policy
  • Encrypted storage

πŸ”Œ Plugin Development

See Plugin Development Guide for creating custom plugins.

πŸ“š Documentation

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

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

About

A file server

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published