Placement Tracker Python API + PostgreSQL + Env

Professional 60-day placement prep system

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 questions 180 CP31 questions Core C++ from scratch Projects interview-ready System 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()
);