Skip to content

MPALONDON/File-storage-and-sharing-platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Video Sharing Platform

A full-stack media sharing platform where users can upload videos or images, interact with content, and manage their own profiles. The application provides a modern single-page interface with secure authentication and a scalable backend API.

⚠️ This project is currently a work in progress and is actively being developed.


Overview

This project is a full-stack web application built with React (Vite) on the frontend and FastAPI (Python) on the backend. It allows users to create accounts, upload media, and interact with other users' content through likes and comments.

Authentication is handled using JWT tokens stored in HTTP-only cookies, allowing secure session management and protected API routes.

The goal of the project is to explore building a scalable full-stack media platform while implementing modern authentication, media handling, and interactive user features.


Current Features

Performance Optimisation (Redis Caching)

  • To improve performance and reduce unnecessary database load, the backend includes Redis-based caching for frequently accessed data.
  • Implemented caching for video listings
  • Implemented caching for comment retrieval and sorting
  • Prevents repeated database queries for the same requests
  • Reduces latency for high-traffic endpoints (e.g. /all/videos, /sort-comments)
  • Improves scalability by avoiding expensive read operations on every request

This ensures that commonly accessed content does not need to be reloaded from the database each time, significantly improving response times and reducing server load.

User Authentication

  • Secure authentication using JWT tokens
  • Tokens stored in HTTP-only cookies
  • Protected backend routes

Media Upload

  • Users can upload videos or images
  • Uploaded media is linked to the user's profile
  • Dynamic loading of media content

Content Interaction

Users can interact with content through: - Comments - Likes

User Profiles

Each user has a profile page where visitors can: - View media uploaded by that user - Navigate to individual posts

Comment Management

Users can: - Add comments to posts - Delete their own comments - View comment timestamps


Tech Stack

Frontend

  • React
  • Vite
  • React Router
  • JavaScript
  • CSS

The frontend is built as a single-page application (SPA) that communicates with the backend through REST API calls.


Backend

  • FastAPI
  • Python
  • JWT Authentication
  • Cookie-based session handling

The backend provides endpoints for authentication, async media uploads, comments, likes, and user data.


Future Improvements

This project is still being actively developed. Planned improvements include:

  • Improved media handling and optimization
  • Additional user interaction features
  • Expanded profile functionality
  • Better UI/UX improvements
  • Performance optimizations
  • More robust API validation and error handling

Status

Work in Progress

This project is an ongoing development project intended to explore full-stack architecture, authentication systems, and media-based applications.

Features and implementation details may change as development continues.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors