Türkiye Tech Visa
Türkiye Tech Visa is a web platform developed to bring together startups in Turkey and job-seeking talent, while managing job postings and application workflows.
- Context
- T.R. Ministry of Industry and Technology / SBI Bilişim
- Category
- Web
- Period
- Oct 1, 2023 - Dec 1, 2023
Technologies
C# ASP.NET Core 3.1 ASP.NET Core MVC SQL Server Entity Framework Core Kendo UI Grid JavaScript jQuery Bootstrap 5 CSS HTML Azure DevOps Git IIS Generic Repository Pattern UnitOfWork Pattern Role Based Authentication Role Based Authorization Multi Language Support AutoMapper DTO ViewModel Audit Logs Code First Fluent Validation jQuery Validation Unobtrusive Toastr SweetAlert
Project Type
- The project is a full stack web application.
- It was developed with the ASP.NET Core MVC project template.
Architecture / System Design
- The project can be separated into two main layers: web application and database.
- The web application layer contains both the frontend and backend parts within an MVC based structure.
- The architecture combines MVC with a layered architecture approach.
- The database layer is built with SQL Server.
- The application was designed with an enterprise-oriented, modular, and extendable structure.
- The solution includes Business, Core, DataAccess, and User Interface layers.
- The Business layer contains service definitions and business rules.
- The Core layer contains abstractions, helper classes, and shared structures.
- The DataAccess layer contains repositories and migrations.
- The User Interface layer contains views, middleware, and areas.
Technologies Used
- Backend and MVC: C#, ASP.NET Core 3.1, ASP.NET Core MVC, Entity Framework Core
- Database: SQL Server, Code First
- Frontend: Bootstrap 5, Kendo UI Grid, HTML, CSS, JavaScript, jQuery
- Architecture and patterns: Generic Repository Pattern, UnitOfWork Pattern, DTO, ViewModel, AutoMapper
- Validation, logs, and security: Fluent Validation, jQuery Validation Unobtrusive, audit logs, role based authentication, role based authorization
- Project and deployment tools: Azure DevOps, Git, IIS
Key Technical Details and Modules
- Built user interfaces with Bootstrap.
- Implemented role based authentication / authorization.
- Used Generic Repository and UnitOfWork Pattern.
- Added multi-language support.
- Used AutoMapper for object mapping.
- Used DTO objects for data transfer.
- Used ViewModel objects in views.
- Logged database operations as audit logs.
- Added pagination, search, and filtering support for data.
- Listed data in table format with Kendo UI Grid.
- Handled database operations with Entity Framework Core.
- Managed database migrations with the Code First approach.
- Implemented server-side validation with Fluent Validation.
- Implemented client-side validation with jQuery Validation Unobtrusive.
- Used extension methods where needed.
- Managed notifications with Toastr and SweetAlert.
Participation and Timeline
- I worked as a Software Development Specialist at the IT Department of the T.R. Ministry of Industry and Technology on behalf of SBI Bilişim.
- I contributed to the project for approximately 2.5 months between October 2023 and December 2023.
Project Management / Team Structure
- The project was assigned to a three-person team during my work at the Ministry's IT Department.
- In addition to me, the team included an analyst and a senior software development specialist.
- Project management and task tracking were handled through Azure DevOps.
- Source control was managed with Git.
Personal Contributions and Responsibilities
- I fixed layout issues that appeared in the mobile view of the project.
Deployment Information
- The project was published on the ministry's Windows-based IIS servers.
- Since it is a public project, the production environment is accessible through the project link section.