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 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.
- 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.
- Secure authentication using JWT tokens
- Tokens stored in HTTP-only cookies
- Protected backend routes
- Users can upload videos or images
- Uploaded media is linked to the user's profile
- Dynamic loading of media content
Users can interact with content through: - Comments - Likes
Each user has a profile page where visitors can: - View media uploaded by that user - Navigate to individual posts
Users can: - Add comments to posts - Delete their own comments - View comment timestamps
- 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.
- FastAPI
- Python
- JWT Authentication
- Cookie-based session handling
The backend provides endpoints for authentication, async media uploads, comments, likes, and user data.
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
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.