Skip to content

Project Structure

Project Structure and Documentation for Rifbid

Project Structure

The Rifbid project is organized into several key directories and files. Below is a summary of the project structure:

src/
├───app
│ ├───accept-invitation
│ ├───account-management
│ ├───admin
│ ├───assets
│ ├───auth
│ │ ├───signin
│ │ └───signup
│ ├───award-notice
│ │ └───[id]
│ ├───award-notices
│ ├───awards
│ │ └───[id]
│ ├───calendar
│ ├───chart
│ ├───context
│ ├───contract
│ │ └───[id]
│ ├───create-request
│ ├───dashboard
│ ├───documents
│ ├───enterprise-query
│ ├───find-contracts
│ ├───firebase
│ ├───forms
│ │ ├───form-elements
│ │ └───form-layout
│ ├───free-trial-expiry
│ ├───generate-proposal
│ │ └───[id]
│ ├───home
│ ├───invite
│ ├───invite-organization-signup
│ ├───login
│ ├───metrics
│ ├───my-applied
│ ├───my-contracts
│ ├───notifications
│ ├───organization-admin-panel
│ ├───password-recovery
│ ├───pricing
│ ├───profile
│ │ ├───edit
│ │ └───view
│ ├───profile-setup
│ ├───proposal-generation
│ ├───proposal-submission
│ │ └───[id]
│ ├───recommended-contracts
│ ├───rifbid-collaborate
│ ├───search-results
│ ├───settings
│ ├───signup
│ ├───subscriptions
│ ├───supplier-dashboard
│ ├───tables
│ ├───ui
│ │ ├───alerts
│ │ └───buttons
│ ├───upload-contract
│ └───user
├───components
│ ├───AccountManagement
│ ├───ActiveBids
│ ├───AdminDashboard
│ ├───AppTour
│ ├───AuthProvider
│ ├───AwardNoticeComponents
│ ├───Awards
│ ├───BidAnalytics
│ ├───BrandLogo
│ ├───Breadcrumbs
│ ├───Calender
│ ├───Charts
│ ├───Chat
│ ├───Checkboxes
│ ├───Collaborate
│ ├───common
│ │ └───Loader
│ ├───Contracts
│ ├───CreateRequests
│ ├───CurrencyFormatter
│ ├───Dashboard
│ ├───DataTable
│ ├───Dropdowns
│ ├───EditableField
│ ├───EnquireEnterprise
│ ├───FormElements
│ │ └───DatePicker
│ ├───FreeTrialExpiry
│ ├───FullContract
│ ├───GenerateProposalFromDatabase
│ ├───Google
│ ├───Header
│ ├───Home
│ ├───InviteEmail
│ ├───InviteeSignUp
│ ├───Layouts
│ ├───Login
│ ├───Logo
│ ├───Maps
│ ├───MicrosoftClarity
│ ├───MyContractTable
│ ├───MyProposals
│ ├───NewOpportunities
│ ├───NotificationsTable
│ ├───OrganizationAdminPanel
│ ├───OrganizationComponents
│ ├───OrganizationMembersList
│ ├───PaymentOverview
│ ├───PerformanceSummary
│ ├───Pricing
│ ├───Profile
│ ├───ProfileSetup
│ ├───ProposalGeneration
│ ├───ProposalSubmission
│ ├───RecommendedContracts
│ ├───SearchResults.tsx
│ ├───SelectGroup
│ ├───Sidebar
│ ├───SignUp
│ ├───Summary
│ ├───SupplierFolders
│ ├───Switchers
│ ├───Tables
│ ├───Tag
│ ├───Token
│ ├───ui
│ ├───UpcomingDeadlines
│ ├───UserProfile
│ ├───VerifyEmail
│ └───WelcomeBanner
├───css
├───data
├───firebase
│ └───functions
│ └───src
├───fonts
├───helpers
├───hooks
├───js
├───lib
│ └───api
│ ├───items
│ └───users
│ └───[userId]
├───services
└───types
└── functions/
├── tsconfig.dev.json
├── yarn.lock
├── .gitignore
├── package.json
├── .eslintrc.js
├── tsconfig.json
└── src/
└── index.ts

Important Components

app/ Directory

  • subscriptions/page.tsx: Subscription management page.
  • dashboard/page.tsx: Main dashboard for users.
  • invite/page.tsx: Page for inviting new users.
  • firebase/auth.ts: Firebase authentication configurations.
  • profile/edit/page.tsx: Profile editing page.
  • profile/view/page.tsx: Profile viewing page.
  • my-contracts/page.tsx: Page displaying user’s contracts.
  • find-contracts/page.tsx, data-table.tsx, columns.tsx: Components for finding and displaying contracts in a table format.
  • create-request/page.tsx: Page for creating a new request.
  • upload-contract/page.tsx: Page for uploading contracts.
  • documents/page.tsx: Page for managing documents.
  • password-recovery/page.tsx: Password recovery page.
  • pricing/page.tsx: Pricing information page.
  • login/page.tsx: User login page.
  • proposal-generation/page.tsx: Page for generating proposals.
  • supplier-dashboard/page.tsx: Supplier-specific dashboard.

Conclusion

This documentation provides an overview of the project structure and highlights the important components of the Rifbid application. For detailed information on each component, refer to the respective files in the project directory.