Skip to content

nizz009/typeFace

Repository files navigation

ByteBridge - A Simple, not-at-all cluttered File Storage App

This project is a full-stack file storage solution similar to Dropbox, built with:

  • Backend: Spring Boot
  • Frontend: React
  • Database: PostgreSQL
  • Dev Environment: Docker Compose

Local Setup

Prerequisites

Ensure the following are installed on your machine:


Run the Entire App

The project uses Docker Compose to orchestrate backend, frontend, and database containers.

  1. Clone this repo:
git clone https://github.com/nizz009/typeFace.git
cd typeFace
  1. Start all services:
docker-compose up --build

This command will:

  • Build and run the backend (Spring Boot)
  • Start the frontend dev server (React)
  • Launch a PostgreSQL database with initialized schema
  1. Open in Browser:

Project Structure

├── backend/        # Spring Boot app
├── frontend/       # React app
├── docker-compose.yml
└── README.md

Notes

  • Make sure port 3000, 8080, and 5432 are available before starting.
  • All data is persisted via Docker volumes.
  • React app supports hot-reloading for development.
  • The maximum file size allow for file upload is set as 300MB but this can be updated by updating MAX_FILE_SIZE and MAX_REQUEST_SIZE in docker-compose.yml file

Cleanup

To stop all services:

docker-compose down

To remove volumes:

docker-compose down -v

Features

Upload and download files easily

File Upload And Download

Preview files

Get a glimpse of your file in a separate tab with support for most common file formats

File Preview

Filter and search through files

Focus only the files you require by filtering them based on type and performing keyword-based search for efficient retrieval

File Filter And Search

Share files ...or keep them hidden

Generate a shareable link to grant access to file preview to people with the link, and disable it anytime to revoke access.

File Share

Tech Stack

  • Spring Boot
  • React (with Hooks)
  • PostgreSQL
  • Docker + Docker Compose
  • JWT for Authentication

Components

  • Persistent storage is managed using Docker volumes for both uploaded files and PostgreSQL data.
  • User authentication is implemented using JWT (JSON Web Tokens).

License

This project is licensed under MIT.

About

ByteBridge - A Simple, not-at-all cluttered File Storage App

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published