Skip to content

Simple application to manage documentation with a folder base organization within workspaces.

Notifications You must be signed in to change notification settings

darwin-luque/advanced-file-management

Repository files navigation

File Management System

Overview

This is a web-based file management system that allows users to create, organize, and manage text-based files within a nested folder structure. The app includes features such as workspaces that can be shared between users, lazy loading, and cursor-based pagination for efficient data handling.

Features

  • Nested Folders and Files: Organize files within a hierarchical folder structure.
  • Workspaces: Manage multiple workspaces, each containing its own set of folders and files.

Tech Stack

  • Frontend: Next.js, Tailwind CSS, TypeScript
  • Backend: tRPC, DrizzleORM, PostgreSQL
  • Deployment: Vercel
  • Version Control: Git/GitHub

Getting Started

Prerequisites

Ensure you have the following installed:

  • Node.js (v14 or higher)
  • npm or yarn
  • PostgreSQL

Installation

  1. Clone the repository:
git clone https://github.com/your-username/your-repo-name.git
cd your-repo-name
  1. Install dependencies:
bun install
  1. Set up the environment variables by copying .env.example to .env and configuring the necessary values.

  2. Run database and apply schema:

docker compose up -d
bun db:push
  1. Start the development server:
bun dev
  1. Open your browser and go to http://localhost:3000.

Folder Structure

  • app/: Contains the Next.js pages and api routes.
    • app/**/_components: Specific components for each page.
  • components/: Reusable React components.
  • styles/: Global styles and Tailwind configuration.
  • server/: Backend code including tRPC procedures and database models.
    • server/db/: Database connection and schema definitions.
    • server/api/: tRPC routers for handling API requests.
  • utils/: Utility functions and helpers.

Key Files

  • trpc/: Contains the tRPC router and procedure definitions.
  • db/: Database connection and schema definitions using DrizzleORM.

API Endpoints

  • /api/trpc: Main API route for handling tRPC requests.

Deployment

This project is configured to deploy to Vercel. Simply connect the repository to your Vercel account and follow the instructions to deploy.

Contributing

Feel free to submit issues and pull requests.

About

Simple application to manage documentation with a folder base organization within workspaces.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published