Track Striver, CP31, C++, projects, and system design in one clean workflow. The browser talks to a backend API, and the backend owns the PostgreSQL connection through environment variables.
Server connection
Backend status
Checking backend...
Database status
Checking database...
What changed
Backend config lives in .env.
Frontend only uses /api endpoints.
No database password inside browser code.
Same placement tracker motive, cleaner flow.
Overview
Core stats
0%Consistency
0Striver solved
0CP31 solved
0/60Days completed
Target for 60 days
300 Striver questions180 CP31 questionsCore C++ from scratchProjects interview-readySystem design basics
Daily execution
Today’s checklist
Daily targets
Today’s notes
A day is counted consistent when Striver, CP31, and Core C++ are complete. Project and system design add extra strength.
Roadmap
Important topics by section
Striver DSA priority
Arrays, strings, hashing
Binary search and answer-space search
Recursion and backtracking
Linked list, stack, queue
Trees, BST, heaps
Graphs: BFS, DFS, topo, shortest path
DP: 1D, 2D, knapsack, LIS, grid
Greedy and intervals
CP31 priority
Finish remaining 1400 questions
1500: speed + implementation
1600: pattern recognition
1700: deeper thinking and proof
1800: slow, high-quality solving
Upsolving editorials properly
Weekly contest simulation
Core C++ / OOP
STL and complexities
References, pointers, const, static
Class, object, constructor, destructor
Encapsulation and abstraction
Inheritance and polymorphism
Virtual functions and vtable intuition
Copy constructor, shallow/deep copy
Stack vs heap, new/delete
Projects / dev revision
IICPC hackathon project from scratch
Kannada Balag project polish
2 club projects: interview defense
Course project: clean explanation
Portfolio and demo improvements
README, screenshots, demo links
Architecture, DB schema, APIs
Bugs, tradeoffs, scalability
Full-stack confidence
Login flow, JWT/session, cookies
REST API structure and status codes
CORS, validation, rate limiting
Postgres/Supabase schema design
Indexes and query optimization
Deployment flow
Queues, caching, background jobs
System design reading
Load balancer, reverse proxy
Caching and CDN
Rate limiter
Database scaling basics
Message queues
File upload / object storage
Design booking system
Design notification/email service
Plan
Same daily checklist, different weekly focus
Notes
New learned section
Add new learned thing
Saved learned notes
Backend
Professional backend setup
How it works now
The frontend only talks to your backend API.
The backend reads a PostgreSQL connection string from .env.
No database password is exposed in the browser.
The API returns daily logs and learned notes.
Setup steps
Copy .env.example to .env.
Replace [YOUR-PASSWORD] in DATABASE_URL.
Run the app with start.ps1.
The Python backend will connect directly to PostgreSQL.
create table if not exists prep_daily_logs (
id uuid primary key default gen_random_uuid(),
user_id text not null default 'muragesh',
log_date date not null,
striver_done boolean default false,
cp31_done boolean default false,
cpp_done boolean default false,
project_done boolean default false,
system_done boolean default false,
striver_count int default 0,
cp31_count int default 0,
cpp_minutes int default 0,
project_minutes int default 0,
system_minutes int default 0,
energy text default 'medium',
reflection text,
created_at timestamptz default now(),
unique(user_id, log_date)
);
create table if not exists prep_learned_notes (
id uuid primary key default gen_random_uuid(),
user_id text not null default 'muragesh',
category text not null,
title text not null,
content text not null,
created_at timestamptz default now()
);