Skip to content

Setup Project Folder Structure #26

@yuvraj-rathod-1202

Description

@yuvraj-rathod-1202

🧩 Feature / Task

Establish the foundational project folder structure as specified, including directories for public/ (hosting root), scripts/ (JavaScript logic), styles/ (CSS files), and their respective subdirectories. This organizes the codebase for maintainability.


✅ Acceptance Criteria

  • The hackathon-finder/ root directory is set up.
  • public/ directory exists with index.html, login.html, signup.html, dashboard.html, upload.html, profile.html, offline.html, assets/, manifest.json, service-worker.js.
  • scripts/ directory exists with auth/, ui/, features/, and main.js.
  • styles/ directory exists with global.css, theme.css, auth.css, dashboard.css, responsive.css.
  • All specified subdirectories (e.g., scripts/auth/, public/assets/icons/) are created.

🚧 Steps To Do

  1. Create the root hackathon-finder/ directory.
  2. Inside hackathon-finder/, create the public/, scripts/, and styles/ directories.
  3. Inside public/, create index.html, login.html, signup.html, dashboard.html, upload.html, profile.html, offline.html, manifest.json, service-worker.js.
  4. Inside public/, create assets/ and its subdirectories icons/ and images/. Add logo.svg to assets/.
  5. Inside scripts/, create auth/, ui/, features/, and main.js.
  6. Inside scripts/auth/, create login.js, signup.js, firebase.js.
  7. Inside scripts/ui/, create navbar.js, themeToggle.js, reminder.js, routing.js.
  8. Inside scripts/features/, create uploadHackathon.js, bookmark.js, dashboard.js, searchFilter.js, mateFinder.js, upcomingBanner.js.
  9. Inside styles/, create global.css, theme.css, auth.css, dashboard.css, responsive.css.

📁 Related Files / Areas

  • All project files and directories.

🧩 Priority

Priority: 🔴 High


🔗 Dependencies

None


🖼️ Reference

hackathon-finder/
├── public/                       # Firebase hosting root
│   ├── index.html               # Home page
│   ├── login.html               # Login page
│   ├── signup.html              # Signup page
│   ├── dashboard.html           # User dashboard (bookmarked/uploaded hackathons)
│   ├── upload.html              # Upload hackathon form
│   ├── profile.html             # Profile + skill info + mate finder
│   ├── offline.html             # Shown when offline (optional)
│   ├── assets/
│   │   ├── icons/               # App icons for PWA
│   │   ├── images/              # Banners, illustrations
│   │   └── logo.svg
│   ├── manifest.json            # PWA Manifest file
│   └── service-worker.js        # Service worker for PWA
│
├── scripts/                     # JavaScript logic
│   ├── auth/                    # Auth-related logic
│   │   ├── login.js
│   │   ├── signup.js
│   │   └── firebase.js          # Firebase config and init
│   ├── ui/                      # DOM manipulation / components
│   │   ├── navbar.js
│   │   ├── themeToggle.js
│   │   ├── reminder.js
│   │   └── routing.js           # SPA hash-based routing (if used)
│   ├── features/                # Business logic
│   │   ├── uploadHackathon.js
│   │   ├── bookmark.js
│   │   ├── dashboard.js
│   │   ├── searchFilter.js
│   │   ├── mateFinder.js
│   │   └── upcomingBanner.js
│   └── main.js                  # Entry point (script for index.html)
│
├── styles/
│   ├── global.css               # Global styles and variables
│   ├── theme.css                # Dark/light mode variables
│   ├── auth.css                 # Styles for login/signup
│   ├── dashboard.css
│   └── responsive.css           # Media queries and mobile-first fixes
│
├── .firebaserc                  # Firebase project alias
├── firebase.json                # Firebase hosting config
├── .gitignore
├── README.md
└── package.json (if using npm for dev tools or Tailwind)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions