Every Maharashtra diploma student knows the feeling β Semester 1, no senior to ask, no idea which subjects actually matter, resources scattered across random Telegram groups, admission cutoffs hidden behind paywalls, career paths nobody explains.
We built the platform we wished existed when we started.
Diploma Dost covers everything across your 3 years β PYQs, notes, roadmaps, college predictor, DSA tracks, YouTube playlists, internship guides, scholarship info, placement prep, and a community to ask questions in. All free. No login required to browse.
|
PYQs, model answers, and notes for every subject β organized by branch, semester, and type. Browse without logging in. Upload your own to help juniors. |
Step-by-step career paths for CS, IT, Mechanical, Civil, Electrical, and ETC. Full-Stack, AI/ML, Android, Core CS β with curated resources and honest time estimates. |
|
Input your MSBTE percentile, get realistic college predictions based on real DTE/CAP cutoff data. No guesswork. |
ITR and capstone project ideas, micro-innovation prompts, and research pointers β because "do a project" is useless without direction. |
|
Structured tracks from zero to contest-ready β LeetCode, Codeforces, Striver's sheet, GFG β all organised by topic and difficulty. |
The best playlist for every subject in Semesters 1β6, hand-curated. No more searching β open and study. |
|
Where to look, how to apply, what to say β a practical guide built from real experience getting internships as a diploma student. |
Ask questions, share answers, help the next batch. A public Q&A board where seniors actually respond. |
|
Exam schedules, result dates, rechecking deadlines β updated every cycle. |
EBC, SC/ST, OBC, Minority β every scholarship you're eligible for, with eligibility criteria and application guides. |
|
Resume templates, mock interview Q&A, and placement drive timelines for diploma students entering campus recruitment. |
Beginner-friendly open source projects to contribute to β because your first PR matters more than your GPA. |
| Layer | Technology | Purpose |
|---|---|---|
| UI | React 19 | Component model, concurrent rendering |
| Build | Vite 8 | Sub-second HMR, optimised production output |
| Styling | Tailwind CSS v3 + CSS custom properties | Utility-first with a strict design system |
| Database / Auth | Supabase (PostgreSQL + RLS) | Real-time DB, auth, and file storage |
| 3D Background | Three.js | SpaceMesh animated canvas |
| Routing | React Router v7 (HashRouter) | Static-site compatible client routing |
| Icons | Lucide React + React Icons | Lightweight, tree-shakeable |
| Testing | Playwright | End-to-end tests on every push and PR |
| Deployment | Vercel / GitHub Pages | Zero-config CI/CD |
One dark theme. One palette. No hardcoded hex values in components β everything references CSS custom properties.
/* Core palette β src/index.css */
--bg: #0d0e0f /* Page background */
--surface: #141414 /* Cards, modals */
--surface2: #1a1a1a /* Nested surfaces */
--border: #2a2a2a /* All borders */
--text: #f0ede6 /* Primary text */
--text-muted: #888888 /* Secondary / labels */
--accent: #e8453c /* Red β primary/errors */
--accent-lime: #c8f04d /* Lime β success */
--accent-blue: #4d9ef0 /* Blue β info */
--accent-purple: #b87aff /* Purple β decorative */Fonts: ClashDisplay (headings) Β· CabinetGrotesk (UI) Β· GeneralSans (body) Β· JetBrains Mono (code/labels)
- Node.js 18+
- A Supabase project (free tier is enough to run everything)
# 1. Clone
git clone https://github.com/piush365/Diploma-Dost.git
cd Diploma-Dost
# 2. Install dependencies
npm install
# 3. Configure environment
cp .env.example .envOpen .env and fill in your Supabase credentials:
VITE_SUPABASE_URL=https://your-project-ref.supabase.co
VITE_SUPABASE_ANON_KEY=your-anon-key-here# 4. Start the dev server
npm run devOpen http://localhost:5173.
npm run build # Production build β must pass before any PR
npm run preview # Preview the production build locally
npm run lint # ESLint
npx playwright test # End-to-end testsDiploma-Dost/
βββ src/
β βββ pages/ # One file per route
β β βββ Home.jsx
β β βββ Resources.jsx # PYQs, notes, community uploads
β β βββ Roadmaps.jsx # Career path explorer
β β βββ Predictor.jsx # College admission predictor
β β βββ Community.jsx # Q&A board
β β βββ Login.jsx
β β βββ Signup.jsx
β β βββ ResetPassword.jsx
β β βββ ...
β βββ components/
β β βββ layout/
β β β βββ Navbar.jsx
β β β βββ Footer.jsx
β β βββ SearchBar.jsx
β β βββ SpaceMesh.jsx # Three.js animated background
β β βββ ErrorBoundary.jsx
β βββ data/
β β βββ roadmaps.js # Static roadmap content (edit to contribute)
β βββ lib/
β β βββ supabase.js # Supabase client
β βββ index.css # CSS variables + global utilities
βββ tests/ # Playwright e2e tests
βββ .github/
β βββ workflows/
β β βββ playwright.yml # CI β runs on every push and PR
β βββ PULL_REQUEST_TEMPLATE.md
βββ public/ # Static assets, PWA manifest
Contributions are welcome from everyone β diploma students, developers, designers, and people who just want to fix a typo.
First time? Here's how.
# 1. Fork the repo on GitHub, then clone your fork
git clone https://github.com/YOUR_USERNAME/Diploma-Dost.git
# 2. Create a branch β never commit to main directly
git checkout -b feature/your-feature-name
# 3. Make your changes, then verify the build passes
npm run build
# 4. Push and open a Pull Request on GitHub
git push origin feature/your-feature-nameGitHub will pre-fill the PR description with a checklist. Fill it out honestly.
What can I contribute?
| Contribution | How |
|---|---|
| Study resources | Upload PYQs, notes, or model answers via the Resources page β no code needed |
| Roadmap content | Edit or add nodes in src/data/roadmaps.js |
| Bug fixes | Check the open issues |
| New features | Open an issue first β discuss scope before writing code |
| Scholarship / internship info | Update the relevant page data |
| Community answers | Answer questions on the platform itself |
Code conventions
- One file per route in
src/pages/β keep pages self-contained - Mobile-first always β design at 375px first, scale up
- CSS variables only β never write a hex value in a component; use
var(--accent),var(--surface), etc. - No new dependencies without opening an issue first
btn-primary/btn-ghostfor buttons;.glassfor cards- Error/destructive states β
var(--accent)Β· Success states βvar(--accent-lime) - Run
npm run buildlocally before pushing β the PR template will ask you to confirm this
This started as an ITR submission in Semester 5 β a simple site to collect resources we'd scraped together over four semesters of figuring things out without a guide.
Sem 1β4 β Felt the gap firsthand. No senior to ask. No organised resources.
Sem 5 β Built the first version as an ITR project.
Sem 6 β Decided not to let it die in a folder. Rebuilt it open source.
Today β A growing platform by diploma students, for diploma students.
Every feature on this platform exists because someone on the team felt the same gap you probably felt.
MIT β use it, fork it, build on it. Just don't claim it as your own.
If Diploma Dost helped you, give it a β β it helps other students find it.
Made with stubbornness by diploma students who got tired of figuring it out alone.
