Skip to content

Ashu-sCode/DavNotes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 

Repository files navigation

📚 DavNotes

Live Preview

A student-friendly platform to download notes, previous year question papers, assignments, and syllabus — with a robust CMS for verified uploaders and admins.

DavNotes Screenshot


🚀 Features

  • 🎓 Student Resources – Notes, PYQs, Assignments, Syllabus (by semester & stream)
  • 🔑 Role-Based Access – Admin & Verified Uploader system
  • 📊 Admin Dashboard – Manage users, uploads, and view real-time stats
  • 📂 Resource Management – Upload, filter, search, delete files easily
  • 🌙 Dark/Light Mode – Full mobile responsive theme toggle
  • Local Caching – Faster repeated downloads
  • 🔍 Smart Search & Filters – Find resources quickly
  • 📈 Google Analytics Integration – Track usage & engagement
  • 🎭 Smooth Animations – Powered by Framer Motion
  • ✉️ EmailJS Support – Contact form & uploader contribution requests

🛠️ Tech Stack

  • Frontend: React 19, Vite, TailwindCSS, Flowbite
  • Backend/Services: Firebase (Auth, Firestore, Storage), Node.js
  • UI/UX Enhancements: Framer Motion, SweetAlert2, Lucide Icons
  • Data Visualization: Recharts
  • Other Integrations: EmailJS, Google Analytics
  • Utilities: React Router v7, React Hot Toast, DOMPurify, pdf-lib

📂 Folder Structure

DavNotes/
├── public/                # Static assets (images, favicons)
├── src/
│   ├── api/               # Firebase config & API calls
│   ├── cms/               # CMS pages (Admin & Uploader)
│   ├── components/        # Reusable UI components
│   ├── context/           # Context API (Auth, Theme)
│   ├── data/              # Static data (semesters, programs, etc.)
│   ├── hooks/             # Custom React hooks
│   ├── lib/               # Google Analytics helper
│   ├── pages/             # Public & CMS pages
│   ├── routes/            # Protected routes
│   └── utils/             # Helpers & utilities
├── .env                   # Environment variables (ignored in git)
├── package.json           # Dependencies & scripts
├── vite.config.js         # Vite config
└── README.md

⚙️ Installation & Setup

  1. Clone the repository

    git clone https://github.com/your-username/DavNotes.git
    cd DavNotes/main
  2. Install dependencies

    npm install
  3. Setup environment variables
    Create a .env file in the project root with the following:

    VITE_FIREBASE_API_KEY=your_firebase_api_key
    VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
    VITE_FIREBASE_PROJECT_ID=your_project_id
    VITE_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
    VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
    VITE_FIREBASE_APP_ID=your_app_id
    
    VITE_EMAILJS_SERVICE_ID=your_emailjs_service_id
    VITE_EMAILJS_TEMPLATE_ID=your_emailjs_template_id
    VITE_EMAILJS_TEMPLATE_CONTACT=your_emailjs_contact_template
    VITE_EMAILJS_PUBLIC_KEY=your_emailjs_public_key
    
    VITE_GA_TRACKING_ID=your_google_analytics_tracking_id
  4. Run the development server

    npm run dev

🎮 Usage

  • Students can browse, search, and download resources freely.
  • Verified uploaders can log in and contribute notes & papers.
  • Admins can manage users, uploads, and monitor analytics in real-time.

📸 Screenshots / Demo

Home Page Admin Dashboard
DavNotes Screenshot Admin Dashboard
Manage Resource Page Mobile View
Manage Resource Page Mobile View

📊 Roadmap

  • Add support for more file formats
  • Introduce AI-powered resource recommendations
  • Add user feedback system for notes
  • Implement offline support (PWA)

🤝 Contributing

Contributions are welcome!

  1. Fork the repo
  2. Create a new branch (feature/your-feature)
  3. Commit changes (git commit -m "Add your feature")
  4. Push the branch (git push origin feature/your-feature)
  5. Open a Pull Request

📜 License

This project is licensed under the MIT License – feel free to use and modify.


🙏 Acknowledgements

  • Firebase for backend services
  • EmailJS for mail handling
  • Google Analytics for insights
  • Flowbite & TailwindCSS for UI
  • Open source contributors & student community ❤️

About

A student-friendly platform to download notes, previous year question papers, assignments, and syllabus — with a robust CMS for verified uploaders and admins.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors