ASP.NET Core MVC | HMVC Architecture | SQL Server | Entity Framework | ADO.NET
IndeedClone is a full-stack job portal web application inspired by Indeed. It allows recruiters to post and manage job listings while candidates can search, view, and apply for jobs.
The project is built using ASP.NET Core MVC with a modular HMVC architecture, where each module is self-contained and manages its own controllers, services, repositories, and views. This approach improves maintainability, scalability, and feature isolation.
- Robust HMVC architecture built on SOLID design principles, ensuring clean separation of concerns.
- Hybrid data access: EF Core for transactions, ADO.NET for high-performance job search queries.
- Comprehensive authentication: email/password, Google OAuth, OTP verification, and secure password reset.
- Streamlined multi-step recruiter workflow for job posting and management.
- Transaction-driven job activation ensuring consistency and reliability.
- - Responsive, AJAX-powered UI for seamless, real-time interactions.
- End-to-end resume management: upload, preview, and secure download.
- Centralized error handling with a custom error management library.
- Well-structured Repository + Service layer architecture for maintainable, testable
.
└── IndeedClone
├── Emails
│
├── Modules
│ ├── IndeedClone # Main job search module
│ ├── JobDashboard # Recruiter dashboard
│ ├── Shared # Shared components used across modules
│ └── SubModules
│ ├── Auth # Login, Register, OTP (2FA), Forgot Password, Google Sign-In
│ ├── JobApplication # Job seeker module (CV upload, experience, screening questions)
│ └── JobPost # Employer job posting workflow
│
├── Storage # Stores uploaded user files (resumes)
│
└── ThirdParty # Custom helper libraries
This project follows a modular HMVC (Hierarchical Model View Controller) architecture.
Each folder inside the Modules directory acts as a self-contained feature module.
Every module typically includes its own:
- Controllers
- Models
- DTOs
- Enums
- Helpers
- ServiceContracts
- Services
- RepoContracts
- Repositories
- Views
This design ensures:
- Independent module development
- Better separation of concerns
- Improved maintainability
- Easier feature expansion
Some modules may contain additional folders depending on workflow and feature complexity.
- ASP.NET Core MVC (.NET 8.0.22)
- C#
- SQL Server
- Entity Framework Core
- ADO.NET
- AJAX
- Razor Views
- Bootstrap
The project uses a hybrid data access approach.
Entity Framework Core
- Used for most CRUD operations
- Provides maintainability and developer productivity
ADO.NET
- Used for optimized read operations
- Applied in job search and filtering queries to improve performance
- User registration
- Login system
- Email verification via OTP
- Forgot password workflow
- Google Sign-In integration
- Multi-step JobPost workflow (8 pages)
- Draft job creation
- Resume / continue draft functionality
- Transaction-based job activation
- Structured employer job creation pipeline
- Keyword and location search
- Time filtering
- Remote / work arrangement filtering
- Salary filtering
- Job type filtering
- Company filtering
- Education filtering
- Language filtering
- Pagination support
- Apply to jobs
- Resume upload
- Resume preview (PDF)
- Resume download
- Relevant experience tracking
- Employer screening questions
- Resume / continue draft functionality
- Employer posted jobs list
- Applicant list management
- Candidate status update (Shortlisted / Rejected)
- Live filtering
- Pagination
The backend follows a structured architecture with clear separation of responsibilities.
- Modular HMVC architecture
- SOLID principles
- Repository pattern
- Service layer abstraction
- DTO pattern
- Centralized error handling (ErrorError library)
This architecture helps maintain clean code, scalability, and maintainability.
Follow these steps to run the project locally.
Make sure the following tools are installed:
- .NET 8.0.22 SDK
- SQL Server
- Visual Studio 2022 or later
git clone https://github.com/your-username/IndeedClone.gitOpen the solution file:
IndeedClone.sln
using Visual Studio.
Update the connection string in:
appsettings.json
to match your SQL Server instance.
Run Entity Framework migrations or create the database schema manually.
Press F5 in Visual Studio or run the project from the IDE.
- Role-based authorization (Admin / Recruiter / Job Seeker)
- Background job processing for email notifications
- Search performance improvements using indexing
- API layer for mobile or third-party integrations
- Unit and integration testing
Shubham Borude
Email: shubhamborude4488@gmail.com
This project is created for educational and portfolio purposes.
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)