~/projectsSelected Work · 2025

CINETRACKER_

Social film tracking platform built from scratch as a full-stack project. Users log movies, write reviews and connect with friends — combined with an achievements system and detailed statistics.

GitHub
ReactNode.jsExpressMongoDBChakra UITMDB API

~540 Commits

actively developed

8 Collections

MongoDB / Mongoose

5 External APIs

TMDB, OMDB, Cloudinary, Mailtrap, reCAPTCHA

Full-Stack

from scratch, no template

// Screenshots

Movie Library

// Features

01

Movie Tracking

Add movies via TMDB live search or IMDb ID. Personal rating, date and custom lists — all in one library.

02

Statistics & Analytics

Total watch time, average rating, genre distribution and year-based filtering — your viewing habits at a glance.

03

Achievements System

Genre- and quantity-based badges with multiple difficulty levels. Users are rewarded and motivated for their viewing habits.

04

Social Features

Invite friends via custom IDs (not internal DB IDs), follow their feed and share movie reviews with likes and comments.

05

Authentication

Email verification, JWT cookies, reCAPTCHA v3, password reset by email and guest login for an instant demo without registration.

06

API Integration

TMDB for metadata & posters, OMDB as fallback for runtimes, Cloudinary for profile image hosting — automatic fallback logic included.

// Tech Stack

FrontendReact 18
FrontendVite
FrontendChakra UI
FrontendZustand
FrontendFramer Motion
BackendNode.js
BackendExpress
BackendMongoDB
BackendJWT
ServicesCloudinary
ServicesTMDB API
ServicesOMDB API
ServicesMailtrap

// Architecture Highlights

Custom Friend ID System

Users share public friend codes instead of internal MongoDB IDs — privacy-conscious design.

Soft-Delete Pattern

Posts are marked with a deleted flag instead of being removed, preserving referential integrity.

Dual API Integration

TMDB for primary data, OMDB as automatic fallback for runtimes — both scenarios (name & IMDb ID) fully covered.

Cascading Deletion

When a movie is deleted, all associated updates and posts are automatically removed.

Guest User System

Temporary accounts with a timestamp in the username for an instant demo experience without registration.

← Back to Projects