Skip to content

philbir/bridge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bridge - Internal Job & Project Listing Platform

Bridge is an internal platform that enables employees to create, discover, and apply for project assignments and job listings within their organization. It features AI-powered description enhancement, automated image generation, and a modern GraphQL API with a React-based user interface.

🎯 Use Cases

For Project Managers & Team Leads

  • Create Project Listings: Define new project opportunities with detailed descriptions, required skills, duration, and team requirements
  • Manage Applications: Review and manage applications from interested team members
  • Track Project Status: Monitor listing status through Draft → Published → Closed → Archived lifecycle

For Employees & Contributors

  • Discover Opportunities: Browse available projects and assignments across the organization
  • Filter by Skills: Find projects matching your expertise and interests
  • Apply for Projects: Submit applications with motivation letters for projects of interest
  • Manage Applications: Track your application status and withdraw applications if needed

For Administrators

  • BackOffice Management: Comprehensive view of all listings with inline editing capabilities
  • Status Management: Change listing statuses and manage the overall project portfolio
  • User Management: Oversee user profiles, skills, and organizational assignments

🏗️ System Architecture

graph TB
    subgraph "Frontend"
        RC[React Client<br/>• Mantine UI<br/>• Relay<br/>• TypeScript]
    end
    
    subgraph "Backend"
        API[ASP.NET Core<br/>GraphQL API<br/>• Hot Chocolate<br/>• DataLoaders]
    end
    
    subgraph "Database"
        DB[MongoDB<br/>• Collections<br/>• GridFS<br/>• Indexing]
    end
    
    subgraph "AI Services"
        AI[Azure AI<br/>• Text Enhancement<br/>• Image Generation]
    end
    
    RC <--> API
    API <--> DB
    API --> AI
Loading

Core Components

Frontend (React + TypeScript)

  • UI Framework: Mantine components for consistent design
  • State Management: Relay for GraphQL data management
  • Routing: React Router for navigation
  • Build Tool: Vite for fast development and bundling

Backend (ASP.NET Core)

  • GraphQL Server: Hot Chocolate with Relay support
  • Data Access: MongoDB.Extensions.Context for database operations
  • Background Services: Automated image generation and processing
  • Session Management: Header-based user identification

Database (MongoDB)

  • Collections: Organizations, Persons, JobListings, JobApplications
  • File Storage: GridFS for generated images
  • Indexing: Optimized queries with proper indexing strategy

AI Services

  • Text Enhancement: Azure AI for improving job descriptions
  • Image Generation: Automated card image creation for listings

🛠️ Technology Stack

Frontend Technologies

  • React 19.1.0 - Modern React with latest features
  • TypeScript 5.8.3 - Type-safe development
  • Vite 7.1.x - Fast build tooling
  • Mantine 8.0.2 - Comprehensive UI component library
  • Relay 20.x - GraphQL client with optimizations
  • React Router DOM 7.6.1 - Client-side routing

Backend Technologies

  • .NET 8.0 - Latest .NET platform with C# preview features
  • Hot Chocolate - GraphQL server with advanced features
  • MongoDB.Extensions.Context - Modern MongoDB integration
  • GreenDonut DataLoaders - N+1 query prevention
  • Azure AI Inference - AI-powered text and image generation

Development & Testing

  • Playwright - End-to-end testing framework
  • Snapshooter - Snapshot testing for GraphQL
  • Squadron - Integration testing with MongoDB
  • ESLint & Prettier - Code quality and formatting

📖 Additional Documentation

For detailed implementation information, see:

🤝 Contributing

  1. Follow the established coding patterns in the codebase
  2. Use snapshot testing for GraphQL operations
  3. Maintain type safety with TypeScript
  4. Test changes with both unit tests and E2E tests
  5. Update documentation for significant changes

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages