Skip to content

ananttripathi/DSCode

Repository files navigation

πŸ“Š DSCode - Master Data Science, AI & ML

DSCode is a free, comprehensive learning platform for mastering Data Science, AI, and Machine Learning. With 445+ curated problems across 16 topics including Python, ML, Deep Learning, NLP, Computer Vision, Gen AI, RAG, and AI Agents, DSCode helps you build job-ready skills through hands-on practice. Track your progress, practice in dark mode, and prepare for interviews - all completely free.

🌟 Features

  • 250+ Curated Problems across 10+ topics
  • Progress Tracking with localStorage persistence
  • Difficulty Filters (Easy, Medium, Hard)
  • Real-time Search functionality
  • Dark Mode support with preference saving
  • Topic-based Organization with progress bars
  • Learning Roadmap with structured path
  • Keyboard Shortcuts for power users

πŸš€ GitHub Pages Deployment

Step-by-Step Setup

  1. Fork or Clone this Repository

    git clone https://github.com/yourusername/DSCode.git
    cd DSCode
  2. Push to Your GitHub Repository

    git init
    git add .
    git commit -m "Initial commit - DSCode platform"
    git branch -M main
    git remote add origin https://github.com/yourusername/DSCode.git
    git push -u origin main
  3. Enable GitHub Pages

    • Go to your repository on GitHub
    • Click Settings β†’ Pages (in left sidebar)
    • Under Source, select main branch
    • Select / (root) folder
    • Click Save
  4. Access Your Site

    • Your site will be live at: https://yourusername.github.io/DSCode/
    • Initial deployment takes 2-5 minutes

Custom Domain (Optional)

  1. Add a file named CNAME in the root with your domain:

    dscode.yourdomain.com
    
  2. Configure DNS records at your domain provider:

    Type: CNAME
    Name: dscode
    Value: yourusername.github.io
    

πŸ“ Project Structure

DSCode/
β”œβ”€β”€ index.html          # Main entry β€” problem list, filters, progress tracking
β”œβ”€β”€ topic-detail.html   # Individual topic page
β”œβ”€β”€ styles.css          # Core styling with dark mode
β”œβ”€β”€ auth-styles.css     # Authentication UI styles
β”œβ”€β”€ cta-styles.css      # Call-to-action component styles
β”œβ”€β”€ script.js           # Core interactivity, filters, localStorage
β”œβ”€β”€ topic-content.js    # Topic-level problem data and content
β”œβ”€β”€ firebase-auth.js    # Firebase authentication logic
β”œβ”€β”€ firebase-config.js  # Firebase project configuration
β”œβ”€β”€ DEPLOYMENT_GUIDE.md # Detailed deployment instructions
└── README.md           # Documentation

πŸ’» Local Development

Option 1: Direct File

# Simply open index.html in your browser
open index.html  # Mac
start index.html # Windows

Option 2: Local Server

# Python 3
python -m http.server 8000

# Node.js
npx serve

# Visit: http://localhost:8000

🎨 Topics Covered

  1. 🐍 Python Fundamentals (20 problems)
  2. πŸ“Š NumPy & Pandas (25 problems)
  3. πŸ“ˆ Statistics & Probability (20 problems)
  4. πŸ€– Machine Learning (30 problems)
  5. 🧠 Deep Learning (25 problems)
  6. πŸ’¬ Natural Language Processing (20 problems)
  7. πŸ‘οΈ Computer Vision (18 problems)
  8. πŸ—„οΈ SQL for Data Science (22 problems)
  9. βš™οΈ Feature Engineering (15 problems)
  10. πŸš€ MLOps & Deployment (15 problems)

⌨️ Keyboard Shortcuts

  • Ctrl/Cmd + K - Focus search
  • Ctrl/Cmd + D - Toggle dark mode

πŸ”§ Customization

Add New Problems

Edit index.html:

<div class="problem-item" data-difficulty="medium" data-topic="ml" data-problem-id="ml_new">
    <div class="problem-checkbox">
        <input type="checkbox" id="ml_new">
        <label for="ml_new"></label>
    </div>
    <div class="problem-content">
        <a href="#" class="problem-title">Your Problem Title</a>
        <span class="badge badge-medium">Medium</span>
    </div>
</div>

Change Theme Colors

Edit styles.css:

:root {
    --accent-primary: #3b82f6;  /* Change primary color */
    --accent-hover: #2563eb;     /* Change hover color */
}

🌐 Alternative Deployment

Netlify

  1. Visit netlify.com
  2. Drag & drop the DSCode folder
  3. Done! Auto-deploys on updates

Vercel

  1. Visit vercel.com
  2. Import GitHub repository
  3. Deploy with one click

πŸ”₯ Firebase Setup (Authentication)

DSCode uses Firebase Authentication for user login. The project config in firebase-config.js points to the live project β€” no changes needed to run the hosted version.

To self-host with your own Firebase project:

  1. Go to Firebase Console β†’ Create project
  2. Enable Authentication β†’ Sign-in method β†’ enable Email/Password (and/or Google)
  3. Copy your project config and replace the values in firebase-config.js:
const firebaseConfig = {
    apiKey: "YOUR_API_KEY",
    authDomain: "YOUR_PROJECT.firebaseapp.com",
    projectId: "YOUR_PROJECT_ID",
    storageBucket: "YOUR_PROJECT.appspot.com",
    messagingSenderId: "YOUR_SENDER_ID",
    appId: "YOUR_APP_ID"
};
  1. Add your deployment domain to Firebase β†’ Authentication β†’ Authorized domains

Note: Firebase client-side API keys are safe to commit β€” access is controlled by Firebase Security Rules, not by keeping the key secret.


πŸ› οΈ Technologies

  • Pure HTML5, CSS3, JavaScript (no build step, no npm)
  • Firebase Authentication β€” user login and session management
  • LocalStorage β€” progress tracking per user
  • Google Fonts (Inter)

πŸ“± Browser Support

βœ… Chrome, Firefox, Safari, Edge (modern versions) βœ… Mobile browsers (iOS/Android)

🀝 Contributing

  1. Fork the repository
  2. Create feature branch: git checkout -b feature/new-feature
  3. Commit changes: git commit -m "Add new feature"
  4. Push to branch: git push origin feature/new-feature
  5. Open a Pull Request

πŸ“‹ Future Enhancements

  • Problem solutions/explanations
  • Streak tracking
  • Video tutorials integration
  • Coding playground
  • User authentication
  • Progress sharing

πŸ“„ License

MIT License - Feel free to use for personal or commercial projects

πŸ“ž Support

  • πŸ› Issues: GitHub Issues
  • πŸ’‘ Feature Requests: Open an issue
  • ⭐ Star this repo if you find it helpful!

Made with ❀️ for the Data Science Community

Live Demo | Report Bug | Request Feature

About

DSCode is a free, comprehensive learning platform for mastering Data Science, AI, and Machine Learning. With 445+ curated problems across 16 topics including Python, ML, Deep Learning, NLP, Computer Vision, Gen AI, RAG, and AI Agents, DSCode helps you build job-ready skills through hands-on practice.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors