Compare commits
4 Commits
hesamTheme
...
master
Author | SHA1 | Date |
---|---|---|
|
b204ed9e6e | |
|
3e2ad2cb27 | |
|
4c9a815453 | |
|
91d9871062 |
|
@ -1,30 +0,0 @@
|
|||
**/.classpath
|
||||
**/.dockerignore
|
||||
**/.env
|
||||
**/.git
|
||||
**/.gitignore
|
||||
**/.project
|
||||
**/.settings
|
||||
**/.toolstarget
|
||||
**/.vs
|
||||
**/.vscode
|
||||
**/*.*proj.user
|
||||
**/*.dbmdl
|
||||
**/*.jfm
|
||||
**/azds.yaml
|
||||
**/bin
|
||||
**/charts
|
||||
**/docker-compose*
|
||||
**/Dockerfile*
|
||||
**/node_modules
|
||||
**/npm-debug.log
|
||||
**/obj
|
||||
**/secrets.dev.yaml
|
||||
**/values.dev.yaml
|
||||
LICENSE
|
||||
README.md
|
||||
!**/.gitignore
|
||||
!.git/HEAD
|
||||
!.git/config
|
||||
!.git/packed-refs
|
||||
!.git/refs/heads/**
|
|
@ -1,29 +0,0 @@
|
|||
<a href="@Link">
|
||||
<div class="flex flex-row my-5">
|
||||
<div class="bg-[#2E2E48] py-2 px-2.5 rounded-full">
|
||||
|
||||
<svg width="25" height="25" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="@SvgPath" fill="#E2E6EE" />
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
<div class="mx-4">
|
||||
<p class="text-gray-400">@Title</p>
|
||||
<p class="text-white -mt-1">@Detail</p>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
@code {
|
||||
[Parameter]
|
||||
public string Title { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public string Detail { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public string SvgPath { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public string Link { get; set; }
|
||||
}
|
|
@ -1,49 +0,0 @@
|
|||
@using Blazorise.Video
|
||||
<MudCard Elevation="27" class="f-full m-1 bg-[#2E2E48] rounded-lg w-[20rem] lg:w-[35rem] md:w-[25rem] sm:w-[18rem]">
|
||||
<MudCardContent>
|
||||
|
||||
<MudStack Justify="Justify.SpaceBetween">
|
||||
<Video Source="@VideoSrc" Poster="@ImageSrc"></Video>
|
||||
|
||||
@* <video controls preload="none" poster="@ImageSrc">
|
||||
<source src="@VideoSrc" type="video/mp4">
|
||||
Your browser does not support the video tag.
|
||||
</video> *@
|
||||
|
||||
|
||||
@*<MudImage Src="@ImageSrc" ObjectFit="ObjectFit.Cover" Class="rounded-lg" />
|
||||
<MudText Typo="Typo.h6" class=" font-outfit mt-1">@Name</MudText>
|
||||
<p class="text-gray-400">
|
||||
@Detail
|
||||
</p> *@
|
||||
<p class="font-bold">@Name</p>
|
||||
<div class="flex flex-wrap space-x-1 -mt-2">
|
||||
@foreach (var feild in Feilds)
|
||||
{
|
||||
<div class="bg-[#232339] px-3 py-1 mt-1 h-auto rounded-md text-[0.7rem] ">
|
||||
<p>@feild</p>
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
@if (ShowButton)
|
||||
{
|
||||
@* <MudButton StartIcon="@Icons.Material.Filled.InsertLink" Variant="Variant.Outlined" Color="Color.Primary"
|
||||
FullWidth="true">@ButtonText</MudButton> *@
|
||||
}
|
||||
</MudStack>
|
||||
</MudCardContent>
|
||||
</MudCard>
|
||||
|
||||
@code {
|
||||
[Parameter] public string Name { get; set; }
|
||||
[Parameter] public string Detail { get; set; }
|
||||
[Parameter] public string Link { get; set; }
|
||||
[Parameter] public string[] Feilds { get; set; }
|
||||
[Parameter] public string ImageSrc { get; set; }
|
||||
[Parameter] public string VideoSrc { get; set; }
|
||||
[Parameter] public bool ShowButton { get; set; } = true;
|
||||
[Parameter] public string ButtonText { get; set; }
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
<div class="bg-[#2E2E48] justify-center py-7 px-5 rounded-md h-full">
|
||||
<img src="@ImageSrc" class="mb-4 mx-auto w-16 h-16 rounded-md" />
|
||||
<div class="my-auto">
|
||||
<p class="text-center text-white">@Name</p>
|
||||
@* <p class="text-center text-gray-400 text-[0.8rem]">@ExperiencePeriod Years Experience</p> *@
|
||||
</div>
|
||||
<div class="mx-auto items-center content-center w-fit">
|
||||
|
||||
<MudRating class="mt-2 mx-auto" Disabled="true" ReadOnly="true" Color="Color.Info" SelectedValue="@ExperiencePeriod" />
|
||||
</div>
|
||||
</div>
|
||||
@code
|
||||
{
|
||||
[Parameter] public string Name { get; set; }
|
||||
[Parameter] public int ExperiencePeriod { get; set; }
|
||||
[Parameter] public string ImageSrc { get; set; }
|
||||
|
||||
}
|
|
@ -1,620 +0,0 @@
|
|||
using Resume.Blazor.Models.ItemModels;
|
||||
|
||||
namespace Resume.Blazor;
|
||||
public static class ExperienceHelper
|
||||
{
|
||||
|
||||
public static List<ProjectCategoryItemModel> ProjectCategoryItemModels = new List<ProjectCategoryItemModel>
|
||||
{
|
||||
new ProjectCategoryItemModel
|
||||
{
|
||||
Name = "2D Motion Graghics",
|
||||
Projects = new List<ProjectItemModel>
|
||||
{
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/2D%20Motion%20Graghics/Saving%20415%20Million%20People.mp4",
|
||||
Name="Saving 415 Million People" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Designing" , "Composite" , "Editing" , "SFX and Music"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/2D%20Motion%20Graghics/Saving%20415%20million%20people.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/2D%20Motion%20Graghics/Pride%20800%20Million.mp4",
|
||||
Name="Pride 800 Million" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Designing" , "Composite" , "Editing" , "SFX and Music"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/2D%20Motion%20Graghics/Pride%20800%20million.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/2D%20Motion%20Graghics/Paylot%20Saat%20Sefr.mp4",
|
||||
Name="Paylot Saat Sefr" ,
|
||||
Feilds= new string[] {"Designing" , "Composite" , "Editing" , "SFX and Music"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/2D%20Motion%20Graghics/Paylot%20Saat%20Sefr.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/2D%20Motion%20Graghics/Hallway%20To%20Progress.mp4",
|
||||
Name="Hallway To Progress" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Composite" , "Editing"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/2D%20Motion%20Graghics/Hallway%20to%20Progress.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/2D%20Motion%20Graghics/Future%20Superpowers.mp4",
|
||||
Name="Future Superpowers" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Composite" , "Editing"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/2D%20Motion%20Graghics/Future%20Superpowers.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/2D%20Motion%20Graghics/Dollar%2C%20The%20Beginning%2C%20The%20Power%2C%20The%20End.mp4",
|
||||
Name="Dollar, The Beginning, The Power, The End" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Composite" , "Editing"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/2D%20Motion%20Graghics/Dollar%2C%20the%20beginning%2C%20the%20power%2C%20the%20end.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/2D%20Motion%20Graghics/Combined%20Cycle%20Power%20Plant.mp4",
|
||||
Name="Development Of Oil Value" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Designing" , "Composite" , "Editing"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/2D%20Motion%20Graghics/Development%20of%20oil%20value.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/2D%20Motion%20Graghics/Combined%20Cycle%20Power%20Plant.mp4",
|
||||
Name="Combined Cycle Power Plant" ,
|
||||
Feilds= new string[] {"Composite" , "Editing"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/2D%20Motion%20Graghics/Combined%20Cycle%20Power%20Plant.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/2D%20Motion%20Graghics/Building%20The%20Future.mp4",
|
||||
Name="Building The Future" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Designing" , "Composite" , "Editing" , "SFX and Music"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/2D%20Motion%20Graghics/Building%20the%20future.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/2D%20Motion%20Graghics/25-Year%20Contract.mp4",
|
||||
Name="25-Year Contract" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Designing" , "Composite" , "Editing" , "SFX and Music"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/2D%20Motion%20Graghics/25-Year%20Contract.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/2D%20Motion%20Graghics/7-Headed%20Demon.mp4",
|
||||
Name="7-Headed Demon" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Designing" , "Composite" , "Editing" , "SFX and Music"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/2D%20Motion%20Graghics/7-Headed%20Demon.jpg",
|
||||
Detail=""},
|
||||
|
||||
}
|
||||
},
|
||||
new ProjectCategoryItemModel
|
||||
{
|
||||
Name = "3D Motion Graghics",
|
||||
Projects = new List<ProjectItemModel>
|
||||
{
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/3D%20Motion%20Graghics/Dependence%20On%20Oil.mp4",
|
||||
Name="Dependence On Oil" ,
|
||||
Feilds= new string[] {"Rendering" , "Composite" , "Editing" , "SFX and Music"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/3D%20Motion%20Graghics/Dependence%20on%20oil.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/3D%20Motion%20Graghics/Drone%20Power.mp4",
|
||||
Name="Drone Power" ,
|
||||
Feilds= new string[] {"Rendering" , "Composite" , "Editing"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/3D%20Motion%20Graghics/Drone%20power.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/3D%20Motion%20Graghics/Evanescent%20Opportunities.mp4",
|
||||
Name="Evanescent Opportunities" ,
|
||||
Feilds= new string[] {"Desingin" , "Rendering" , "Composite" , "Editing" , "SFX and Music"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/3D%20Motion%20Graghics/Evanescent%20opportunities.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/3D%20Motion%20Graghics/Having%20A%20House.mp4",
|
||||
Name="Having A House" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Designing" ,"Rendering" , "Composite" , "Editing"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/3D%20Motion%20Graghics/Having%20a%20house.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/3D%20Motion%20Graghics/Import%20Of%20Foreign%20Goods.mp4",
|
||||
Name="Import Of Foreign Goods" ,
|
||||
Feilds= new string[] {"Rendering" , "Composite" , "Editing" , "SFX and Music"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/3D%20Motion%20Graghics/Import%20of%20foreign%20goods.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/3D%20Motion%20Graghics/Iran%27s%20Space%20Movement.mp4",
|
||||
Name="Iran's Space Movement" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Designing" ,"Rendering" , "Composite" , "Editing"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/3D%20Motion%20Graghics/Iran%27s%20space%20movement.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/3D%20Motion%20Graghics/Knowledge%20Base%20In%20Agriculture.mp4",
|
||||
Name="Knowledge Base In Agriculture" ,
|
||||
Feilds= new string[] {"Rendering" , "Composite"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/3D%20Motion%20Graghics/Knowledge%20base%20in%20agriculture.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/3D%20Motion%20Graghics/Shield%20Of%20Iran.mp4",
|
||||
Name="Shield Of Iran" ,
|
||||
Feilds= new string[] {"Rendering" , "Composite" , "Editing" , "SFX and Music"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/3D%20Motion%20Graghics/Shield%20of%20Iran.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/3D%20Motion%20Graghics/Waste%20Production%20Of%20The%20Automotive%20Industry.mp4",
|
||||
Name="Waste Production Of The Automotive Industry" ,
|
||||
Feilds= new string[] {"Rendering" , "Composite" , "Editing"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/3D%20Motion%20Graghics/Waste%20production%20of%20the%20automotive%20industry.jpg",
|
||||
Detail=""},
|
||||
}
|
||||
|
||||
},
|
||||
new ProjectCategoryItemModel
|
||||
{
|
||||
Name = "Animation",
|
||||
Projects = new List<ProjectItemModel>
|
||||
{
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Animation/Agricultural%20Machinery.mp4",
|
||||
Name="Agricultural Machinery" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Composite" , "Editing"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Animation/Agricultural%20Machinery.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Animation/Girl%27s%20Day.mp4",
|
||||
Name="Girl's Day" ,
|
||||
Feilds= new string[] {"Composite" , "Editing"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Animation/Girl%27s%20Day.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Animation/Military%20Power.mp4",
|
||||
Name="Military Power" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Composite" , "Editing"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Animation/military%20power.mp4_snapshot_00.34.633.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Animation/Sickle%20and%20Mass.mp4",
|
||||
Name="Sickle and Mass" ,
|
||||
Feilds= new string[] {"Composite" , "Editing" , "SFX and Music"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Animation/Sickle%20and%20Mass.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Animation/The%20Braves%20of%20Tangestan.mp4",
|
||||
Name="The Braves of Tangestan" ,
|
||||
Feilds= new string[] {"Composite" , "Editing" , "SFX and Music"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Animation/The%20Braves%20of%20Tangestan.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Animation/Satellite%20Launch.mp4",
|
||||
Name="Satellite Launch" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Composite" , "Editing"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Animation/Satellite%20launch.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Animation/Watering%20Systems.mp4",
|
||||
Name="Watering Systems" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Composite" , "Editing"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Animation/Watering%20Systems.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Animation/Rural%20Gas%20Supply.mp4",
|
||||
Name="Rural Gas Supply" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Composite" , "Editing"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Animation/Rural%20gas%20supply.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Animation/Rural%20Telephone.mp4",
|
||||
Name="Rural Telephone" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Composite" , "Editing"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Animation/Rural%20telephone.jpg",
|
||||
Detail=""},
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
new ProjectCategoryItemModel
|
||||
{
|
||||
Name = "Motion Comic",
|
||||
Projects = new List<ProjectItemModel>
|
||||
{
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Motion%20Comic/Motion%20Comic%20Ebrahim%20Hadi.mp4",
|
||||
Name="Motion Comic Ebrahim Hadi" ,
|
||||
Feilds= new string[] {"Composite" , "Editing" , "SFX and Music"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Motion%20Comic/Motion%20Comic%20Ebrahim%20Hadi.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Motion%20Comic/Motion%20Comic%20Tehrani%20Moghadam.mp4",
|
||||
Name="Motion Comic Tehrani Moghadam" ,
|
||||
Feilds= new string[] {"Composite" , "Editing"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Motion%20Comic/Motion%20Comic%20Tehrani%20Moghadam.jpg",
|
||||
Detail=""},
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
new ProjectCategoryItemModel
|
||||
{
|
||||
Name = "Teaser",
|
||||
Projects = new List<ProjectItemModel>
|
||||
{
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Teaser/Igarson%20Teaser.mp4",
|
||||
Name="Igarson Teaser" ,
|
||||
Feilds= new string[] {"Designing" , "Composite" , "Editing" , "SFX and Music"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Teaser/iGarson%20teaser.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Teaser/Mucut%20Teaser.mp4",
|
||||
Name="Mucut Teaser" ,
|
||||
Feilds= new string[] {"Designing" , "Composite" , "Editing" , "SFX and Music"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Teaser/Mucut%20Teaser.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Teaser/Corona%20Deaths.mp4",
|
||||
Name="Corona Deaths" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Designing" , "Composite" , "Editing" , "SFX and Music"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Teaser/Corona%20Deaths.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Teaser/Do%20Smile.mp4",
|
||||
Name="Do Smile" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Designing" , "Composite" , "Editing" , "SFX and Music"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Teaser/Do%20smile.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Teaser/Eid%20Al-Fitr.mp4",
|
||||
Name="Eid Al-Fitr" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Designing" , "Composite" , "Editing" , "SFX and Music"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Teaser/Eid%20al-Fitr.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Teaser/Father%27s%20Day.mp4",
|
||||
Name="Father's Day" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Designing" , "Composite" , "Editing" , "SFX and Music"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Teaser/father%27s%20Day.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Teaser/Fleeting%20Life.mp4",
|
||||
Name="Fleeting Life" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Designing" , "Composite" , "Editing" , "SFX and Music"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Teaser/Fleeting%20life.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Teaser/Half%20Of%20Sha%27ban.mp4",
|
||||
Name="Half Of Sha'ban" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Designing" , "Composite" , "Editing" , "SFX and Music"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Teaser/Half%20of%20Sha%27ban.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Teaser/Happy%20New%20Year.mp4",
|
||||
Name="Happy New Year" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Designing" , "Composite" , "Editing" , "SFX and Music"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Teaser/Happy%20new%20year.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Teaser/Instagram%20Promo.mp4",
|
||||
Name="Instagram Promo" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Designing" , "Composite" , "Editing" , "SFX and Music"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Teaser/Instagram%20Promo.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Teaser/Municipality%20Of%20Tehran.mp4",
|
||||
Name="Municipality Of Tehran" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Designing" , "Composite" , "Editing" , "SFX and Music"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Teaser/Municipality%20of%20Tehran.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Teaser/Petroshimi%20Pars.mp4",
|
||||
Name="Petroshimi Pars" ,
|
||||
Feilds= new string[] {"Decoupage" , "Director" , "Designing" , "Composite" , "Editing" , "SFX and Music"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Teaser/Petroshimi%20Pars.jpg",
|
||||
Detail=""},
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
new ProjectCategoryItemModel
|
||||
{
|
||||
Name = "Video Editing",
|
||||
Projects = new List<ProjectItemModel>
|
||||
{
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Video%20Editing/Documentary%20Transit.mp4",
|
||||
Name="Documentary Transit" ,
|
||||
Feilds= new string[] {"Title" , "Editing" , "SFX and Music" , "Color correction"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Video%20Editing/Documentary%20Transit.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Video%20Editing/Moharram%20Clip.mp4",
|
||||
Name="Moharram Clip" ,
|
||||
Feilds= new string[] {"Title" , "Editing" , "SFX and Music" , "Color correction"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Video%20Editing/Moharram%20Clip.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Video%20Editing/Music%20Video%20Of%20Naim%20Sha%27ban.mp4",
|
||||
Name="Music Video Of Naim Sha'ban" ,
|
||||
Feilds= new string[] {"Editing" , "Color correction"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Video%20Editing/Music%20video%20of%20Naim%20Sha%27ban.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Video%20Editing/Penguins%20Event.mp4",
|
||||
Name="Penguins Event" ,
|
||||
Feilds= new string[] {"Editing" , "SFX and Music" , "Color correction"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Video%20Editing/Penguins%20event.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Video%20Editing/The%20Way%20Shud%20To%20Go.mp4",
|
||||
Name="The Way should To Go" ,
|
||||
Feilds= new string[] {"Title" , "Editing" , "SFX and Music" , "Color correction"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Video%20Editing/The%20way%20shud%20to%20go.jpg",
|
||||
Detail=""},
|
||||
|
||||
new ProjectItemModel{
|
||||
VideoSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Videos/Video%20Editing/Zam%20Zam%20Eshgh.mp4",
|
||||
Name="Zam Zam Eshgh" ,
|
||||
Feilds= new string[] {"Director" , "Editing" , "Color correction"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="",
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Video%20Editing/Zam%20Zam%20Eshgh.jpg",
|
||||
Detail=""},
|
||||
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
|
||||
};
|
||||
|
||||
public static List<ProjectItemModel> ProjectItemModels = new List<ProjectItemModel>
|
||||
{
|
||||
new ProjectItemModel{
|
||||
Name="iGarson" ,
|
||||
Feilds= new string[] {"Scrum Master" , "Senior .Net Developer"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="igarson.app",
|
||||
ImageSrc="../assets/images/igarsonCover.jpg",
|
||||
Detail="iGarson ( Your Majesty ) lunched for the comprehensive management of restaurants, it has a separate application for customers, management and waiters of restaurants, which provides very attractive features to restaurants and their customers."},
|
||||
|
||||
new ProjectItemModel{
|
||||
Name="MuCut" ,
|
||||
Feilds= new string[] {"Scrum Master" , "Senior .Net Developer"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="mucut.ir",
|
||||
ImageSrc="../assets/images/mucutCover.jpg",
|
||||
Detail="MuCut is a comprehensive platform for taking appointments from men's and women's barbershops, which makes the appointment process easier for customers and managers of barbershops."},
|
||||
|
||||
new ProjectItemModel{
|
||||
Name="iMed" ,
|
||||
Feilds= new string[] {"Project Manager" , "Senior .Net Developer"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="imedapp.ir",
|
||||
ImageSrc="../assets/images/imedCover.jpg",
|
||||
Detail="iMed has provided an online learning system with flash cards and attractive videos for medical students, which is used by more than 10,000 medical students."},
|
||||
|
||||
new ProjectItemModel{
|
||||
Name="Visa Bartar" ,
|
||||
Feilds= new string[] {"Senior .Net Developer"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="visabarta.com",
|
||||
ImageSrc="../assets/images/visabartarCover.jpg",
|
||||
Detail="VisaBartar is the website of VisaBartar Immigration and Tourist Company, which provides users with blogs and services information, measuring the probability of immigration acceptance."},
|
||||
|
||||
new ProjectItemModel{
|
||||
Name="Siban" ,
|
||||
Feilds= new string[] {"Senior .Net Developer"},
|
||||
ButtonText ="WebSite" ,
|
||||
ShowButton=false,
|
||||
Link="igarson.app",
|
||||
ImageSrc="../assets/images/sibanCover.jpg",
|
||||
Detail="Siban is an application for communication between university students and academic associations, which includes features such as scientific association announcements, promotional banners of academic associations, and their elections."},
|
||||
|
||||
new ProjectItemModel{
|
||||
Name="RaziApp" ,
|
||||
ShowButton=false,
|
||||
Feilds= new string[] {"Senior CrossPlatform Developer"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="igarson.app",
|
||||
ImageSrc="../assets/images/raziappCover.jpg",
|
||||
Detail="RaziApp is a system for introducing professors and various departments of Razi University, which provides various communication channels for students and different departments of the university, such as the reservation section for sports facilities, and more."},
|
||||
|
||||
new ProjectItemModel{
|
||||
Name="Netina Stomp .Net Package" ,
|
||||
Feilds= new string[] {"Senior CrossPlatform Developer"},
|
||||
ButtonText ="GitHub" ,
|
||||
Link="https://github.com/Netina/Netina.Stomp.Client",
|
||||
ImageSrc="../assets/images/netinaCover.jpg",
|
||||
Detail="Netina Stomp .Net Package is a package for .NET applications that allows them to connect to STOMP servers. This package has been downloaded and used more than 5,000 times."},
|
||||
|
||||
new ProjectItemModel{
|
||||
Name="Plix" ,
|
||||
Feilds= new string[] {"Senior .Net Developer"},
|
||||
ButtonText ="GitHub" ,
|
||||
Link="https://github.com/mrmohande3/Plix",
|
||||
ImageSrc="../assets/images/plixCover.jpg",
|
||||
Detail="Plix is a Windows application implemented with the latest .NET frameworks that helps you manage and categorize the movies available on your personal system. Additionally, based on your personal preferences, it offers attractive recommendations "},
|
||||
|
||||
new ProjectItemModel{
|
||||
Name="Vishka90" ,
|
||||
Feilds= new string[] {"Senior CrossPlatform Developer"},
|
||||
ButtonText ="WebSite" ,
|
||||
ShowButton = false,
|
||||
Link="igarson.app",
|
||||
ImageSrc="../assets/images/netinaCover.jpg",
|
||||
Detail="Vishka90 is an application for football lovers who participate in football prediction competitions that are legally implemented in Iran and earn prizes by winning."},
|
||||
|
||||
new ProjectItemModel{
|
||||
Name="Terrace Management" ,
|
||||
ShowButton=false,
|
||||
Feilds= new string[] {"Senior CrossPlatform Developer"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="igarson.app",
|
||||
ImageSrc="../assets/images/terraceCover.jpg",
|
||||
Detail="The Terrace Management software is a personal software for managing the Terrace cafe and restaurant located in the city of Kermanshah, which provides accounting, menu management, and customer management sections for this establishment."},
|
||||
|
||||
};
|
||||
|
||||
|
||||
public static List<SkillItemModel> ToolsItemModels = new List<SkillItemModel>
|
||||
{
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "Adobe After Effects" , ImageSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Icones/Tools/After%20Effects.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "Adobe Premiere" , ImageSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Icones/Tools/Premiere.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 3 , Name = "Adobe Illustrator" , ImageSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Icones/Tools/Illustrator.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 3 , Name = "Adobe Photoshop" , ImageSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Icones/Tools/Photoshope.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 3 , Name = "Adobe Audition" , ImageSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Icones/Tools/Audition.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 4 , Name = "Maxone Cinama 4D" , ImageSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Icones/Tools/Cinama%204D.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 3 , Name = "Unreal Engine" , ImageSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Icones/Tools/Unreal%20Engine.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "Microsoft Office Word" , ImageSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Icones/Tools/Word.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "Microsoft Office Execl" , ImageSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Icones/Tools/Excel.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "Microsoft Office PowerPoint" , ImageSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Icones/Tools/Power%20Point.png"},
|
||||
};
|
||||
|
||||
|
||||
|
||||
public static List<SkillItemModel> SkillItemModels = new List<SkillItemModel>
|
||||
{
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "Editing Video" , ImageSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Icones/Skills/Editing%20Video.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "Motion Graphics" , ImageSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Icones/Skills/Motion%20Graphics.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 4 , Name = "Making Teaser" , ImageSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Icones/Skills/Making%20Teaser.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 4 , Name = "Director" , ImageSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Icones/Skills/Director.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 3 , Name = "Scenario Writer" , ImageSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Icones/Skills/scenario%20writer.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 3 , Name = "Model Maker" , ImageSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Icones/Skills/model%20maker.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 4 , Name = "Filming" , ImageSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Icones/Skills/Filming.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 3 , Name = "Aerial Photography" , ImageSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Icones/Skills/Aerial%20Photography.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 3 , Name = "Stage Design" , ImageSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Icones/Skills/Stage%20Design.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 4 , Name = "Sound Editing" , ImageSrc = "https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Icones/Skills/Sound%20Editing.png"},
|
||||
};
|
||||
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
namespace Resume.Blazor.Models.ItemModels;
|
||||
|
||||
public class ProjectCategoryItemModel
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public List<ProjectItemModel> Projects { get; set; } = new();
|
||||
}
|
|
@ -1,313 +0,0 @@
|
|||
@page "/"
|
||||
@using Resume.Blazor.Components.ItemTemplate
|
||||
|
||||
<MudContainer MaxWidth="MaxWidth.ExtraExtraLarge">
|
||||
|
||||
<MudGrid>
|
||||
|
||||
<MudItem xs="0" md="3" class="bg-transparent">
|
||||
<div class="m-8">
|
||||
<img src="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/hesamProfile.png"
|
||||
class="rounded-md" />
|
||||
@* <mud class="text-white font-extrabold font-outfit-black text-4xl mt-8"> Amir Hossein Khademi </p> *@
|
||||
<MudText class="text-white font-extrabold font-outfit-black text-4xl mt-8" Typo="Typo.h1">
|
||||
Hesam Masoumi
|
||||
</MudText>
|
||||
<MudText Typo="Typo.h2" class="bg-clip-text font-extrabold font-outfit-black text-3xl text-transparent bg-gradient-to-r mb-8 from-pink-500
|
||||
to-violet-500">
|
||||
Editor & Motion Graphics
|
||||
</MudText>
|
||||
<p class="mb-4 text-justify">
|
||||
I am a video editor and motion graphic designer with over 5 years of work experience. My educational background is in computer engineering, specializing in information technology. I am passionate about creating clips, teasers, and captivating motion graphics. Over these years, I've participated in various projects, collaborating with diverse teams, and have been able to enhance my personal skills. Moving forward, I will introduce my professional and personal capabilities more comprehensively.
|
||||
</p>
|
||||
<div class="h-[0.1rem] bg-white opacity-10"></div>
|
||||
<p class="my-5 text-gray-400">Contact Info</p>
|
||||
|
||||
|
||||
<ContactInfoItemTemplate Link="mailto:hes.mas2248@gmail.com" Title="Email" Detail="hes.mas2248@gmail.com" SvgPath="M8.33325 8.33329H1.66659C1.20635 8.33329 0.833252 7.9602 0.833252 7.49996V2.46371C0.852672 2.01769 1.22014
|
||||
1.6662 1.66659 1.66663H8.33325C8.79349 1.66663 9.16659 2.03972 9.16659 2.49996V7.49996C9.16659 7.9602 8.79349 8.33329
|
||||
8.33325 8.33329ZM1.66659 3.27829V7.49996H8.33325V3.27829L4.99992 5.49996L1.66659 3.27829ZM1.99992 2.49996L4.99992
|
||||
4.49996L7.99992 2.49996H1.99992Z" />
|
||||
|
||||
<ContactInfoItemTemplate Link="tel:09013099752" Title="Phone" Detail="(+98) 901 309 9752" SvgPath="M7.9157 8.33329C4.36086 8.33833 1.66295 5.60808 1.66675 2.08434C1.66675 1.85422 1.8533 1.66663 2.08342
|
||||
1.66663H3.18315C3.38964 1.66663 3.56505 1.81835 3.59537 2.0226C3.66804 2.51212 3.81057 2.9887 4.01862 3.43775L4.06143
|
||||
3.53017C4.12097 3.65867 4.08061 3.81135 3.96536 3.89366C3.62479 4.13687 3.49463 4.62644 3.75995 5.00844C4.09291 5.48781
|
||||
4.5126 5.90742 4.99186 6.24022C5.37384 6.50546 5.86333 6.37532 6.10654 6.03481C6.1889 5.9195 6.34167 5.87913 6.47025
|
||||
5.93869L6.56224 5.9813C7.01133 6.18933 7.48793 6.33187 7.97751 6.40452C8.18177 6.43484 8.33341 6.61024 8.33341
|
||||
6.81674V7.91662C8.33341 8.14674 8.14641 8.33328 7.91629 8.33328L7.9157 8.33329Z" />
|
||||
|
||||
|
||||
<ContactInfoItemTemplate Title="Address" Detail="Iran, Tehran, Aghdasie" SvgPath="M4.99992 8.74996C4.47364 8.30106 3.98583 7.80893 3.54159 7.27871C2.87492 6.48246 2.08325 5.29663 2.08325
|
||||
4.16663C2.08266 2.98644 2.79336 1.92221 3.8837 1.47054C4.97404 1.01888 6.22911 1.26881 7.06325 2.10371C7.61178 2.6498
|
||||
7.91905 3.39262 7.9166 4.16663C7.9166 5.29663 7.12492 6.48246 6.45825 7.27871C6.01401 7.80893 5.5262 8.30106 4.99992
|
||||
8.74996ZM4.99992 2.91663C4.55334 2.91663 4.14068 3.15488 3.91739 3.54163C3.6941 3.92838 3.6941 4.40488 3.91739
|
||||
4.79163C4.14068 5.17838 4.55334 5.41663 4.99992 5.41663C5.69028 5.41663 6.24992 4.85698 6.24992 4.16663C6.24992 3.47627
|
||||
5.69028 2.91663 4.99992 2.91663Z" />
|
||||
|
||||
<div class="h-[0.1rem] bg-white opacity-10"></div>
|
||||
<p class="my-5 text-gray-400">Socials</p>
|
||||
|
||||
<a target="_blank" href="https://Instagram.com/hesamit97">
|
||||
<div class="flex flex-row my-5">
|
||||
<div>
|
||||
<svg width="40" height="40" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect y="0.5" width="16" height="16" rx="8" fill="url(#paint0_radial_357_1266)" />
|
||||
<rect y="0.5" width="16" height="16" rx="8" fill="url(#paint1_radial_357_1266)" fill-opacity="0.2" />
|
||||
<path d="M6.33373 8.5002C6.33373 7.57972 7.07972 6.83333 8.0002 6.83333C8.92068 6.83333 9.66707 7.57972 9.66707 8.5002C9.66707
|
||||
9.42068 8.92068 10.1671 8.0002 10.1671C7.07972 10.1671 6.33373 9.42068 6.33373 8.5002ZM5.43266 8.5002C5.43266 9.91826
|
||||
6.58214 11.0677 8.0002 11.0677C9.41826 11.0677 10.5677 9.91826 10.5677 8.5002C10.5677 7.08214 9.41826 5.93266 8.0002
|
||||
5.93266C6.58214 5.93266 5.4327 7.08206 5.4327 8.5002H5.43266ZM10.0694 5.83085C10.0694 5.94953 10.1045 6.06555 10.1704
|
||||
6.16425C10.2363 6.26295 10.33 6.33989 10.4396 6.38535C10.5492 6.43081 10.6698 6.44274 10.7863 6.41964C10.9027 6.39653
|
||||
11.0096 6.33943 11.0935 6.25554C11.1775 6.17166 11.2347 6.06477 11.2579 5.94839C11.2811 5.832 11.2692 5.71135 11.2239
|
||||
5.6017C11.1785 5.49204 11.1016 5.3983 11.003 5.33233C10.9043 5.26635 10.7883 5.23112 10.6697 5.23107H10.6694C10.5104
|
||||
5.23114 10.3578 5.29435 10.2453 5.40681C10.1328 5.51927 10.0695 5.67178 10.0694 5.83085ZM5.98012 12.5703C5.49262 12.5481
|
||||
5.22765 12.4669 5.05156 12.3983C4.81811 12.3074 4.65155 12.1992 4.47642 12.0243C4.30129 11.8494 4.19289 11.683 4.1024
|
||||
11.4495C4.03376 11.2735 3.95256 11.0085 3.9304 10.521C3.90616 9.9939 3.90132 9.83557 3.90132 8.50028C3.90132 7.16499
|
||||
3.90656 7.0071 3.9304 6.4796C3.9526 5.9921 4.0344 5.72757 4.1024 5.55104C4.19329 5.31759 4.30153 5.15103 4.47642
|
||||
4.9759C4.65131 4.80077 4.81771 4.69237 5.05156 4.60188C5.22757 4.53324 5.49262 4.45204 5.98012 4.42988C6.50718 4.40564
|
||||
6.66551 4.4008 8.0002 4.4008C9.33489 4.4008 9.49338 4.40596 10.0209 4.42996C10.5084 4.45216 10.7729 4.53396 10.9494
|
||||
4.60196C11.1829 4.69245 11.3495 4.80109 11.5246 4.97598C11.6997 5.15087 11.8077 5.31767 11.8986 5.55112C11.9672 5.72713
|
||||
12.0484 5.99218 12.0706 6.47968C12.0948 7.00718 12.0997 7.16507 12.0997 8.50036C12.0997 9.83565 12.0948 9.99354 12.0706
|
||||
10.521C12.0484 11.0085 11.9668 11.2735 11.8986 11.4496C11.8077 11.683 11.6995 11.8496 11.5246 12.0243C11.3497 12.1991
|
||||
11.1829 12.3075 10.9494 12.3984C10.7734 12.467 10.5084 12.5482 10.0209 12.5704C9.49382 12.5946 9.33549 12.5994 8.0002
|
||||
12.5994C6.66491 12.5994 6.50702 12.5946 5.98012 12.5704V12.5703ZM5.93872 3.53028C5.40642 3.55452 5.04268 3.63893 4.72503
|
||||
3.76253C4.39626 3.89018 4.11756 4.06142 3.83927 4.33927C3.56098 4.61713 3.39018 4.89586 3.26253 5.22503C3.13893 5.54288
|
||||
3.05452 5.90642 3.03028 6.43872C3.00564 6.97186 3 7.14231 3 8.5002C3 9.8581 3.00564 10.0285 3.03028 10.5617C3.05452
|
||||
11.094 3.13893 11.4575 3.26253 11.7754C3.39018 12.1041 3.56102 12.3834 3.83927 12.6611C4.11752 12.9389 4.39586 13.1099
|
||||
4.72503 13.2379C5.04328 13.3615 5.40642 13.4459 5.93872 13.4701C6.47214 13.4944 6.64231 13.5004 8.0002 13.5004C9.35809
|
||||
13.5004 9.52854 13.4948 10.0617 13.4701C10.594 13.4459 10.9575 13.3615 11.2754 13.2379C11.6041 13.1099 11.8828 12.939
|
||||
12.1611 12.6611C12.4394 12.3833 12.6099 12.1041 12.7379 11.7754C12.8615 11.4575 12.9463 11.094 12.9701 10.5617C12.9944
|
||||
10.0281 13 9.8581 13 8.5002C13 7.14231 12.9944 6.97186 12.9701 6.43872C12.9459 5.90638 12.8615 5.54268 12.7379
|
||||
5.22503C12.6099 4.89626 12.439 4.61757 12.1611 4.33927C11.8833 4.06098 11.6041 3.89018 11.2758 3.76253C10.9575 3.63893
|
||||
10.594 3.55412 10.0621 3.53028C9.52886 3.50592 9.3585 3.5 8.0008 3.5C6.64311 3.5 6.47234 3.50564 5.93892 3.53028"
|
||||
fill="white" />
|
||||
<defs>
|
||||
<radialGradient id="paint0_radial_357_1266" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(1.0355 16.1495) scale(20.3141)">
|
||||
<stop offset="0.09" stop-color="#FA8F21" />
|
||||
<stop offset="0.78" stop-color="#D82D7E" />
|
||||
</radialGradient>
|
||||
<radialGradient id="paint1_radial_357_1266" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(8 16) scale(12.5)">
|
||||
<stop offset="0.713542" stop-color="#8C3AAA" stop-opacity="0" />
|
||||
<stop offset="1" stop-color="#8C3AAA" />
|
||||
</radialGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="mx-4">
|
||||
<p class="text-gray-400 text-sm -mb-1">Instagram</p>
|
||||
<a class="text-white -mt-1" target="_blank" href="https://Instagram.com/hesamit97">hesamit97</a>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a target="_blank" href="https://t.me/hesamit97">
|
||||
<div class="flex flex-row my-5">
|
||||
<div>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 48 48"><path fill="#29b6f6" d="M24 4A20 20 0 1 0 24 44A20 20 0 1 0 24 4Z" /><path fill="#fff" d="M33.95,15l-3.746,19.126c0,0-0.161,0.874-1.245,0.874c-0.576,0-0.873-0.274-0.873-0.274l-8.114-6.733 l-3.97-2.001l-5.095-1.355c0,0-0.907-0.262-0.907-1.012c0-0.625,0.933-0.923,0.933-0.923l21.316-8.468 c-0.001-0.001,0.651-0.235,1.126-0.234C33.667,14,34,14.125,34,14.5C34,14.75,33.95,15,33.95,15z" /><path fill="#b0bec5" d="M23,30.505l-3.426,3.374c0,0-0.149,0.115-0.348,0.12c-0.069,0.002-0.143-0.009-0.219-0.043 l0.964-5.965L23,30.505z" /><path fill="#cfd8dc" d="M29.897,18.196c-0.169-0.22-0.481-0.26-0.701-0.093L16,26c0,0,2.106,5.892,2.427,6.912 c0.322,1.021,0.58,1.045,0.58,1.045l0.964-5.965l9.832-9.096C30.023,18.729,30.064,18.416,29.897,18.196z" /></svg>
|
||||
</div>
|
||||
<div class="mx-4">
|
||||
<p class="text-gray-400 text-sm -mb-1">Telegram</p>
|
||||
<a class="text-white -mt-1" target="_blank" href="https://t.me/hesamit97">hesamit97</a>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a target="_blank" href="https://Hesamit97#3149">
|
||||
<div class="flex flex-row my-5">
|
||||
<div>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" width="40px" height="40px"><radialGradient id="La9SoowKGoEUHOnYdJMSEa" cx="24" cy="10.009" r="32.252" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#8c9eff"/><stop offset=".368" stop-color="#889af8"/><stop offset=".889" stop-color="#7e8fe6"/><stop offset="1" stop-color="#7b8ce1"/></radialGradient><path fill="url(#La9SoowKGoEUHOnYdJMSEa)" d="M40.107,12.15c-0.065-0.102-0.139-0.182-0.236-0.255c-0.769-0.578-4.671-3.339-9.665-3.875 c-0.01-0.001-0.048-0.003-0.057-0.003c-0.098,0-0.183,0.057-0.224,0.14l-0.269,0.538c0,0-0.001,0-0.001,0 c-0.017,0.033-0.026,0.071-0.026,0.111c0,0.109,0.07,0.202,0.168,0.236c0.006,0.002,0.048,0.011,0.063,0.014 c4.267,1.028,6.863,2.89,9.149,4.945c-4.047-2.066-8.044-4.001-15.009-4.001s-10.961,1.936-15.009,4.001 c2.286-2.055,4.882-3.917,9.149-4.945c0.015-0.004,0.057-0.012,0.063-0.014c0.098-0.034,0.168-0.127,0.168-0.236 c0-0.04-0.009-0.078-0.026-0.111c0,0-0.001,0-0.001,0l-0.269-0.538c-0.041-0.083-0.125-0.14-0.224-0.14 c-0.009,0-0.048,0.002-0.057,0.003c-4.994,0.536-8.896,3.297-9.665,3.875c-0.097,0.073-0.17,0.153-0.236,0.255 c-0.708,1.107-5.049,8.388-5.892,21.632c-0.009,0.142,0.04,0.289,0.135,0.395c4.592,5.144,11.182,5.752,12.588,5.823 c0.167,0.008,0.327-0.065,0.427-0.199l1.282-1.709c0.1-0.134,0.046-0.322-0.111-0.379c-2.705-0.986-5.717-2.7-8.332-5.706 C11.231,34.457,16.12,37,24,37s12.769-2.543,16.009-4.993c-2.616,3.006-5.627,4.719-8.332,5.706 c-0.157,0.057-0.211,0.245-0.111,0.379l1.282,1.709c0.101,0.134,0.26,0.208,0.427,0.199c1.407-0.072,7.996-0.679,12.588-5.823 c0.095-0.106,0.144-0.253,0.135-0.395C45.156,20.538,40.815,13.257,40.107,12.15z"/><ellipse cx="30.5" cy="26" opacity=".05" rx="4.5" ry="5"/><ellipse cx="30.5" cy="26" opacity=".05" rx="4" ry="4.5"/><ellipse cx="30.5" cy="26" fill="#fff" rx="3.5" ry="4"/><ellipse cx="17.5" cy="26" opacity=".05" rx="4.5" ry="5"/><ellipse cx="17.5" cy="26" opacity=".05" rx="4" ry="4.5"/><ellipse cx="17.5" cy="26" fill="#fff" rx="3.5" ry="4"/></svg>
|
||||
</div>
|
||||
<div class="mx-4">
|
||||
<p class="text-gray-400 text-sm -mb-1">Discord</p>
|
||||
<a class="text-white -mt-1" target="_blank" href="https://Hesamit97#3149">#3149</a>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a target="_blank" href="http://linkedin.com/in/hesamit">
|
||||
<div class="flex flex-row my-5">
|
||||
<div class="p-1 bg-[#0077B5] my-auto rounded-full">
|
||||
|
||||
<img class="w-7 h-7 rounded-full"
|
||||
src="https://upload.wikimedia.org/wikipedia/commons/thumb/c/ca/LinkedIn_logo_initials.png/800px-LinkedIn_logo_initials.png" />
|
||||
|
||||
</div>
|
||||
<div class="mx-4">
|
||||
<p class="text-gray-400 text-sm -mb-1">Linkdin</p>
|
||||
<a class="text-white -mt-1">hesamit97</a>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</MudItem>
|
||||
<MudItem xs="12" md="9" class="bg-transparent">
|
||||
<MudStack Row="true" AlignItems="AlignItems.Center">
|
||||
<div class="bg-[#2E2E48] w-10 h-10 rounded-full">
|
||||
<div class="bg-[#C696FC] w-3 h-3 rounded-full m-3.5"></div>
|
||||
</div>
|
||||
<p class="text-white text-2xl font-bold">Experience</p>
|
||||
</MudStack>
|
||||
<div class="flex ml-5 flex-row">
|
||||
@* <div class="w-0.5 bg-[#2E2E48] h-auto collapse md:visible"></div> *@
|
||||
|
||||
<MudGrid class="md:ml-5 my-5">
|
||||
|
||||
<MudItem sm="6">
|
||||
|
||||
<ExperienceItemTemplate Period="October 2020 - Now"
|
||||
Feilds="@(new string[] {"Editor" , "Motion Graphics" , "Videography"})" HasLeftBorder="true"
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Icones/Experience/Kelid%20Studio.png"
|
||||
CompanyName="Kelid Studio"
|
||||
Detail="Since October 2020, I've also been actively working at Kelid Studio as a specialist in editing, motion graphics, and videography within the production team. This engagement continues to date." />
|
||||
</MudItem>
|
||||
|
||||
<MudItem sm="6">
|
||||
<ExperienceItemTemplate Period="February 2020 - October 2020" Feilds="@(new string[] {"Editor" , "Motion Graphics"})"
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Icones/Experience/Fekrane%20Media.png"
|
||||
HasLeftBorder="false"
|
||||
CompanyName="Fekraneh Media"
|
||||
Detail="Since February 2020, I have been working as a video editing and motion graphics specialist at the Fekraneh Media." />
|
||||
</MudItem>
|
||||
|
||||
<MudItem sm="6">
|
||||
<ExperienceItemTemplate Period="September 2019 - January 2020"
|
||||
Feilds="@(new string[] {"Editor"})"
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Icones/Experience/Daneshjoo.png"
|
||||
CompanyName="Student News Network"
|
||||
Detail="Since September 2019, due to the transfer of the socio-political working group team from Nasim Online News Agency to Student News Network Agency, I had to change my workplace. There, I continued my work as a video editor." />
|
||||
</MudItem>
|
||||
|
||||
<MudItem sm="6">
|
||||
<ExperienceItemTemplate Period="June 2019 - September 2019"
|
||||
Feilds="@(new string[] {"Editor"})"
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Icones/Experience/Nasim%20Online.png"
|
||||
HasLeftBorder="false"
|
||||
CompanyName="Nasim Online News"
|
||||
Detail="From June 2019, I worked as a video editor for the socio-political working group team at Nasim Online News Agency on a project basis." />
|
||||
</MudItem>
|
||||
|
||||
|
||||
<MudItem sm="6">
|
||||
<ExperienceItemTemplate Period="June 2017 - September 2019"
|
||||
Feilds="@(new string[] {"Editor" , "Motion Graphics"})"
|
||||
ImageSrc="https://s3.ir-thr-at1.arvanstorage.ir/resume-contents/Images/Icones/Experience/Blue%20Window.png"
|
||||
CompanyName="Panjere Abi Copmany"
|
||||
Detail="Since July 2017, when I began my activity in video editing and motion graphics, I started as an intern at Panjere Abi Company. After 6 months, I joined the company as one of their team members." />
|
||||
</MudItem>
|
||||
|
||||
</MudGrid>
|
||||
</div>
|
||||
|
||||
<MudStack Row="true" AlignItems="AlignItems.Center">
|
||||
<div class="bg-[#2E2E48] w-10 h-10 rounded-full">
|
||||
<div class="bg-[#C696FC] w-3 h-3 rounded-full m-3.5"></div>
|
||||
</div>
|
||||
<MudText class=" text-white text-2xl font-bold">
|
||||
<p>Latest Projects</p>
|
||||
</MudText>
|
||||
</MudStack>
|
||||
<div>
|
||||
@* <div class="w-0.5 mr-5 bg-[#2E2E48] h-auto collapse md:visible"></div> *@
|
||||
<div>
|
||||
<div class="flex relative w-full overflow-x-auto ml-5 justify-items-stretch py-3">
|
||||
<div class="flex relative w-full overflow-x-auto">
|
||||
<MudChipSet SelectedChipChanged="CategorySelectedChange" Filter="true">
|
||||
@foreach (var item in ProjectCategoryItemModels)
|
||||
{
|
||||
if (categoryChipCounter == 0)
|
||||
{
|
||||
<MudChip Default="true" Value="@item" SelectedColor="Color.Primary"> <p>@item.Name</p> </MudChip>
|
||||
}else
|
||||
{
|
||||
<MudChip Value="@item" SelectedColor="Color.Primary"> <p>@item.Name</p> </MudChip>
|
||||
}
|
||||
categoryChipCounter++;
|
||||
}
|
||||
</MudChipSet>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex relative w-full overflow-x-auto ml-5 justify-items-stretch py-3">
|
||||
<div class="flex relative w-full overflow-x-auto">
|
||||
@foreach (var item in ProjectItemModels)
|
||||
{
|
||||
<div class="mb-3">
|
||||
<ProjectItemTemplate VideoSrc="@item.VideoSrc" Name="@item.Name" Detail="@item.Detail" ImageSrc="@item.ImageSrc"
|
||||
ShowButton="@item.ShowButton" Link="@item.Link" Feilds="@item.Feilds" ButtonText="@item.ButtonText" />
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<MudStack Row="true" AlignItems="AlignItems.Center">
|
||||
<div class="bg-[#2E2E48] w-10 h-10 rounded-full">
|
||||
<div class="bg-[#C696FC] w-3 h-3 rounded-full m-3.5"></div>
|
||||
</div>
|
||||
<p class="my-auto mx-5 text-white text-2xl font-bold">Skills</p>
|
||||
</MudStack>
|
||||
<MudStack Row="true" class="md:ml-5">
|
||||
@* <div class="w-0.5 collapse md:visible md:mr-10 bg-[#2E2E48] h-auto"></div> *@
|
||||
<MudGrid class="my-5" Spacing="1">
|
||||
@foreach (var item in SkillItemModels)
|
||||
{
|
||||
<MudItem xs="6" sm="4" md="4" lg="3">
|
||||
<SkillItemTemplate Name="@item.Name" ExperiencePeriod="@item.ExperiencePeriod" ImageSrc="@item.ImageSrc" />
|
||||
</MudItem>
|
||||
}
|
||||
|
||||
</MudGrid>
|
||||
</MudStack>
|
||||
|
||||
|
||||
|
||||
|
||||
<MudStack Row="true" AlignItems="AlignItems.Center">
|
||||
<div class="bg-[#2E2E48] w-10 h-10 rounded-full">
|
||||
<div class="bg-[#C696FC] w-3 h-3 rounded-full m-3.5"></div>
|
||||
</div>
|
||||
<p class="my-auto mx-5 text-white text-2xl font-bold">Tools</p>
|
||||
</MudStack>
|
||||
<MudStack Row="true" class="md:ml-15">
|
||||
<div class="w-0.5 collapse md:mr-10 bg-[#2E2E48] h-auto"></div>
|
||||
<MudGrid class="my-5" Spacing="1" Justify="Justify.Center">
|
||||
@foreach (var item in ToolsItemModels)
|
||||
{
|
||||
<MudItem xs="6" sm="4" md="4" lg="2">
|
||||
<ToolsItemTemplate Name="@item.Name" ExperiencePeriod="@item.ExperiencePeriod" ImageSrc="@item.ImageSrc" />
|
||||
</MudItem>
|
||||
}
|
||||
</MudGrid>
|
||||
</MudStack>
|
||||
|
||||
|
||||
</MudItem>
|
||||
|
||||
</MudGrid>
|
||||
</MudContainer>
|
||||
|
||||
@code
|
||||
{
|
||||
|
||||
[Parameter] public List<SkillItemModel> SkillItemModels { get; set; } = ExperienceHelper.SkillItemModels;
|
||||
[Parameter] public List<SkillItemModel> ToolsItemModels { get; set; } = ExperienceHelper.ToolsItemModels;
|
||||
|
||||
[Parameter] public List<ProjectItemModel> ProjectItemModels { get; set; } = new();
|
||||
[Parameter] public List<ProjectCategoryItemModel> ProjectCategoryItemModels { get; set; } = ExperienceHelper.ProjectCategoryItemModels;
|
||||
|
||||
private int categoryChipCounter = 0;
|
||||
|
||||
private void CategorySelectedChange(MudChip obj)
|
||||
{
|
||||
if (obj.Value is ProjectCategoryItemModel category)
|
||||
{
|
||||
ProjectItemModels = new List<ProjectItemModel>();
|
||||
ProjectItemModels.AddRange(category.Projects);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
@page "/counter"
|
||||
@rendermode InteractiveWebAssembly
|
||||
|
||||
<PageTitle>Counter</PageTitle>
|
||||
|
||||
<h1>Counter</h1>
|
||||
|
||||
<p role="status">Current count: @currentCount</p>
|
||||
|
||||
<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
|
||||
|
||||
@code {
|
||||
private int currentCount = 0;
|
||||
|
||||
private void IncrementCount()
|
||||
{
|
||||
currentCount++;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
|
||||
|
||||
var builder = WebAssemblyHostBuilder.CreateDefault(args);
|
||||
|
||||
await builder.Build().RunAsync();
|
|
@ -0,0 +1,15 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<NoDefaultLaunchSettingsFile>true</NoDefaultLaunchSettingsFile>
|
||||
<StaticWebAssetProjectMode>Default</StaticWebAssetProjectMode>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="8.0.3" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
|
@ -0,0 +1,9 @@
|
|||
@using System.Net.Http
|
||||
@using System.Net.Http.Json
|
||||
@using Microsoft.AspNetCore.Components.Forms
|
||||
@using Microsoft.AspNetCore.Components.Routing
|
||||
@using Microsoft.AspNetCore.Components.Web
|
||||
@using static Microsoft.AspNetCore.Components.Web.RenderMode
|
||||
@using Microsoft.AspNetCore.Components.Web.Virtualization
|
||||
@using Microsoft.JSInterop
|
||||
@using Resume.Blazor.Client
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.AspNetCore": "Warning"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.AspNetCore": "Warning"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,64 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
||||
<title>Hesam Masoumi | حسام معصومی</title>
|
||||
<base href="/" />
|
||||
<link href="css/app.min.css" rel="stylesheet" />
|
||||
|
||||
<meta name="theme-color" content="#232339" />
|
||||
<meta name="description" content="Hesam Masoumi | حسام معصومی مهندس نرم افزار و توسعه دهنده .net">
|
||||
<meta property="og:title" content="Hesam Masoumi | حسام معصومی">
|
||||
<meta property="og:description" content="Hesam Masoumi | حسام معصومی مهندس نرم افزار و توسعه دهنده .net">
|
||||
<meta property="og:url" content="https://amir-khademi.ir">
|
||||
<meta name="twitter:title" content="Hesam Masoumi | حسام معصومی">
|
||||
<meta name="twitter:description" content="Hesam Masoumi | حسام معصومی مهندس نرم افزار و توسعه دهنده .net">
|
||||
<meta name="twitter:url" content="https://mucut.ir">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css" integrity="sha384-zCbKRCUGaJDkqS1kPbPd7TveP5iyJE0EjAuZQTgFLD2ylzuqKfdKlfG/eSrtxUkn" crossorigin="anonymous">
|
||||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.15.4/css/all.css">
|
||||
|
||||
<link href="_content/Blazorise/blazorise.css" rel="stylesheet" />
|
||||
<link href="_content/Blazorise.Bootstrap/blazorise.bootstrap.css" rel="stylesheet" />
|
||||
|
||||
|
||||
<script src="https://cdn.tailwindcss.com"></script>
|
||||
<link rel="icon" type="image/png" href="favicon.png" />
|
||||
<link href="Resume.Blazor.styles.css" rel="stylesheet" />
|
||||
<link href="manifest.json" rel="manifest" />
|
||||
<link rel="apple-touch-icon" sizes="512x512" href="icon-512.png" />
|
||||
<link rel="apple-touch-icon" sizes="192x192" href="icon-192.png" />
|
||||
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" rel="stylesheet" />
|
||||
<link href="_content/MudBlazor/MudBlazor.min.css" rel="stylesheet" />
|
||||
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app">
|
||||
<svg class="loading-progress">
|
||||
<circle r="40%" cx="50%" cy="50%" />
|
||||
<circle r="40%" cx="50%" cy="50%" />
|
||||
</svg>
|
||||
<div class="loading-progress-text"></div>
|
||||
</div>
|
||||
|
||||
<div id="blazor-error-ui">
|
||||
An unhandled error has occurred.
|
||||
<a href="" class="reload">Reload</a>
|
||||
<a class="dismiss">🗙</a>
|
||||
</div>
|
||||
<script id="4791200c-22cf-4d77-8b9b-f647ed967370" src="https://my.siponline.ir/callButton.js"
|
||||
data-position="bottom_right" data-margin="20" data-url="sipOnline"></script>
|
||||
<script src="_framework/blazor.webassembly.js"></script>
|
||||
<script>navigator.serviceWorker.register('service-worker.js');</script>
|
||||
<script src="_content/MudBlazor/MudBlazor.min.js"></script>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js" integrity="sha384-VHvPCCyXqtD5DqJeNxl2dtTyhF78xXNXdkwX1CZeRusQfRKp+tA7hAShOK/B/fQ2" crossorigin="anonymous"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,24 @@
|
|||
<div class="flex flex-row my-5">
|
||||
<div class="bg-[#2E2E48] py-2 px-2.5 rounded-full">
|
||||
|
||||
<svg width="25" height="25" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="@SvgPath" fill="#E2E6EE" />
|
||||
</svg>
|
||||
|
||||
</div>
|
||||
<div class="mx-4">
|
||||
<p class="text-gray-400">@Title</p>
|
||||
<p class="text-white -mt-1">@Detail</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@code {
|
||||
[Parameter]
|
||||
public string Title { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public string Detail { get; set; }
|
||||
|
||||
[Parameter]
|
||||
public string SvgPath { get; set; }
|
||||
}
|
|
@ -3,7 +3,7 @@
|
|||
<div class="text-gray-400">
|
||||
<p>@Period</p>
|
||||
<div class="flex flex-row">
|
||||
<img src="@ImageSrc" class="w-[3.5rem] my-2 h-[3.5rem] rounded-full" />
|
||||
<img src="@ImageSrc" class="w-[3.5rem] my-2 h-[3.5rem] rounded-md" />
|
||||
<div class="mx-3 my-auto">
|
||||
<p class="text-white">@CompanyName</p>
|
||||
<div class="flex flex-wrap my-2 -mx-1">
|
|
@ -0,0 +1,39 @@
|
|||
<div class="bg-[#2E2E48] f-full m-1 rounded-lg">
|
||||
<MudCardContent>
|
||||
|
||||
<MudStack Justify="Justify.SpaceBetween">
|
||||
<MudImage Src="@ImageSrc" ObjectFit="ObjectFit.Cover" Class="rounded-lg" />
|
||||
<MudText Typo="Typo.h6" class=" font-outfit mt-1">@Name</MudText>
|
||||
<p class="text-gray-400">
|
||||
@Detail
|
||||
</p>
|
||||
<div class="flex space-x-1 mt-3">
|
||||
|
||||
@foreach (var feild in Feilds)
|
||||
{
|
||||
<div class="bg-[#232339] px-3 py-1 rounded-md text-[0.7rem]">
|
||||
<p>@feild</p>
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
@if (ShowButton)
|
||||
{
|
||||
<MudButton StartIcon="@Icons.Material.Filled.InsertLink" Variant="Variant.Outlined" Color="Color.Primary"
|
||||
FullWidth="true">@ButtonText</MudButton>
|
||||
}
|
||||
</MudStack>
|
||||
</MudCardContent>
|
||||
</div>
|
||||
|
||||
@code {
|
||||
[Parameter] public string Name { get; set; }
|
||||
[Parameter] public string Detail { get; set; }
|
||||
[Parameter] public string Link { get; set; }
|
||||
[Parameter] public string[] Feilds { get; set; }
|
||||
[Parameter] public string ImageSrc { get; set; }
|
||||
[Parameter] public bool ShowButton { get; set; } = true;
|
||||
[Parameter] public string ButtonText { get; set; }
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
<div class="bg-[#2E2E48] rounded-lg">
|
||||
<MudCardContent>
|
||||
<MudHidden Breakpoint="Breakpoint.SmAndDown" Invert="true">
|
||||
<MudStack AlignItems="AlignItems.Center">
|
||||
<img src="@ImageSrc" class="w-16 h-16 rounded-md" />
|
||||
<MudText Typo="Typo.subtitle2" Align="Align.Center" class="text-white">
|
||||
<p>@Name</p>
|
||||
</MudText>
|
||||
<p class="text-gray-400 text-[0.8rem]">@ExperiencePeriod Years Experience</p>
|
||||
</MudStack>
|
||||
</MudHidden>
|
||||
<MudHidden Breakpoint="Breakpoint.MdAndUp" Invert="true">
|
||||
<MudStack Row="true">
|
||||
<img src="@ImageSrc" class="w-12 h-12 rounded-md" />
|
||||
<div class="my-auto ml-2">
|
||||
<p class="text-white">@Name</p>
|
||||
<p class="text-gray-400 text-[0.8rem]">@ExperiencePeriod Years Experience</p>
|
||||
</div>
|
||||
</MudStack>
|
||||
</MudHidden>
|
||||
</MudCardContent>
|
||||
</div>
|
||||
@code {
|
||||
[Parameter] public string Name { get; set; }
|
||||
[Parameter] public int ExperiencePeriod { get; set; }
|
||||
[Parameter] public string ImageSrc { get; set; }
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
<div class="bg-[#2E2E48] justify-center py-7 px-5 rounded-md">
|
||||
<img src="@ImageSrc" class="mb-4 mx-auto w-16 h-16 rounded-md" />
|
||||
<div class="my-auto ml-2">
|
||||
<p class="text-center text-white">@Name</p>
|
||||
<p class="text-center text-gray-400 text-[0.8rem]">@ExperiencePeriod Years Experience</p>
|
||||
</div>
|
||||
</div>
|
||||
@code
|
||||
{
|
||||
[Parameter] public string Name { get; set; }
|
||||
[Parameter] public int ExperiencePeriod { get; set; }
|
||||
[Parameter] public string ImageSrc { get; set; }
|
||||
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
#See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
|
||||
WORKDIR /app
|
||||
EXPOSE 80
|
||||
EXPOSE 443
|
||||
|
||||
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
|
||||
ARG BUILD_CONFIGURATION=Release
|
||||
WORKDIR /src
|
||||
COPY ["Resume.BlazorSS/Resume.BlazorSS.csproj", "Resume.BlazorSS/"]
|
||||
RUN dotnet restore "./Resume.BlazorSS/Resume.BlazorSS.csproj"
|
||||
COPY . .
|
||||
WORKDIR "/src/Resume.BlazorSS"
|
||||
RUN dotnet build "./Resume.BlazorSS.csproj" -c $BUILD_CONFIGURATION -o /app/build
|
||||
|
||||
FROM build AS publish
|
||||
ARG BUILD_CONFIGURATION=Release
|
||||
RUN dotnet publish "./Resume.BlazorSS.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
|
||||
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
COPY --from=publish /app/publish .
|
||||
ENTRYPOINT ["dotnet", "Resume.BlazorSS.dll"]
|
|
@ -0,0 +1,156 @@
|
|||
using Resume.BlazorSS.Models.ItemModels;
|
||||
|
||||
namespace Resume.BlazorSS.Helpers;
|
||||
public static class ExperienceHelper
|
||||
{
|
||||
public static List<ProjectItemModel> ProjectItemModels = new List<ProjectItemModel>
|
||||
{
|
||||
new ProjectItemModel{
|
||||
Name="iGarson" ,
|
||||
Feilds= new string[] {"Scrum Master" , "Senior .Net Developer"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="igarson.app",
|
||||
ImageSrc="../assets/images/igarsonCover.jpg",
|
||||
Detail="iGarson ( Your Majesty ) lunched for the comprehensive management of restaurants, it has a separate application for customers, management and waiters of restaurants, which provides very attractive features to restaurants and their customers."},
|
||||
|
||||
new ProjectItemModel{
|
||||
Name="MuCut" ,
|
||||
Feilds= new string[] {"Scrum Master" , "Senior .Net Developer"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="mucut.ir",
|
||||
ImageSrc="../assets/images/mucutCover.jpg",
|
||||
Detail="MuCut is a comprehensive platform for taking appointments from men's and women's barbershops, which makes the appointment process easier for customers and managers of barbershops."},
|
||||
|
||||
new ProjectItemModel{
|
||||
Name="iMed" ,
|
||||
Feilds= new string[] {"Project Manager" , "Senior .Net Developer"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="imedapp.ir",
|
||||
ImageSrc="../assets/images/imedCover.jpg",
|
||||
Detail="iMed has provided an online learning system with flash cards and attractive videos for medical students, which is used by more than 10,000 medical students."},
|
||||
|
||||
new ProjectItemModel{
|
||||
Name="Visa Bartar" ,
|
||||
Feilds= new string[] {"Senior .Net Developer"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="visabarta.com",
|
||||
ImageSrc="../assets/images/visabartarCover.jpg",
|
||||
Detail="VisaBartar is the website of VisaBartar Immigration and Tourist Company, which provides users with blogs and services information, measuring the probability of immigration acceptance."},
|
||||
|
||||
new ProjectItemModel{
|
||||
Name="Siban" ,
|
||||
Feilds= new string[] {"Senior .Net Developer"},
|
||||
ButtonText ="WebSite" ,
|
||||
ShowButton=false,
|
||||
Link="igarson.app",
|
||||
ImageSrc="../assets/images/sibanCover.jpg",
|
||||
Detail="Siban is an application for communication between university students and academic associations, which includes features such as scientific association announcements, promotional banners of academic associations, and their elections."},
|
||||
|
||||
new ProjectItemModel{
|
||||
Name="RaziApp" ,
|
||||
ShowButton=false,
|
||||
Feilds= new string[] {"Senior CrossPlatform Developer"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="igarson.app",
|
||||
ImageSrc="../assets/images/raziappCover.jpg",
|
||||
Detail="RaziApp is a system for introducing professors and various departments of Razi University, which provides various communication channels for students and different departments of the university, such as the reservation section for sports facilities, and more."},
|
||||
|
||||
new ProjectItemModel{
|
||||
Name="Netina Stomp .Net Package" ,
|
||||
Feilds= new string[] {"Senior CrossPlatform Developer"},
|
||||
ButtonText ="GitHub" ,
|
||||
Link="https://github.com/Netina/Netina.Stomp.Client",
|
||||
ImageSrc="../assets/images/netinaCover.jpg",
|
||||
Detail="Netina Stomp .Net Package is a package for .NET applications that allows them to connect to STOMP servers. This package has been downloaded and used more than 5,000 times."},
|
||||
|
||||
new ProjectItemModel{
|
||||
Name="Plix" ,
|
||||
Feilds= new string[] {"Senior .Net Developer"},
|
||||
ButtonText ="GitHub" ,
|
||||
Link="https://github.com/mrmohande3/Plix",
|
||||
ImageSrc="../assets/images/plixCover.jpg",
|
||||
Detail="Plix is a Windows application implemented with the latest .NET frameworks that helps you manage and categorize the movies available on your personal system. Additionally, based on your personal preferences, it offers attractive recommendations "},
|
||||
|
||||
new ProjectItemModel{
|
||||
Name="Vishka90" ,
|
||||
Feilds= new string[] {"Senior CrossPlatform Developer"},
|
||||
ButtonText ="WebSite" ,
|
||||
ShowButton = false,
|
||||
Link="igarson.app",
|
||||
ImageSrc="../assets/images/netinaCover.jpg",
|
||||
Detail="Vishka90 is an application for football lovers who participate in football prediction competitions that are legally implemented in Iran and earn prizes by winning."},
|
||||
|
||||
new ProjectItemModel{
|
||||
Name="Terrace Management" ,
|
||||
ShowButton=false,
|
||||
Feilds= new string[] {"Senior CrossPlatform Developer"},
|
||||
ButtonText ="WebSite" ,
|
||||
Link="igarson.app",
|
||||
ImageSrc="../assets/images/terraceCover.jpg",
|
||||
Detail="The Terrace Management software is a personal software for managing the Terrace cafe and restaurant located in the city of Kermanshah, which provides accounting, menu management, and customer management sections for this establishment."},
|
||||
|
||||
};
|
||||
public static List<SkillItemModel> ToolsItemModels = new List<SkillItemModel>
|
||||
{
|
||||
new SkillItemModel{ExperiencePeriod = 7 , Name = "Visual Studio" , ImageSrc = "../assets/images/vsLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 7 , Name = "Nuget" , ImageSrc = "../assets/images/nugetLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 7 , Name = "GitHub" , ImageSrc = "../assets/images/githubLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 7 , Name = "Microsoft Office" , ImageSrc = "../assets/images/officeLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "Photoshop" , ImageSrc = "../assets/images/photoshopLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "VSCode" , ImageSrc = "../assets/images/vscodeLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "Postman" , ImageSrc = "../assets/images/postmanLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "SQLServer Management" , ImageSrc = "../assets/images/sqlmLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "ReSharper" , ImageSrc = "../assets/images/resharperLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "Jira" , ImageSrc = "https://logowik.com/content/uploads/images/jira3124.jpg"},
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "BitBucket" , ImageSrc = "../assets/images/bitbucketLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 4 , Name = "WordPress" , ImageSrc = "../assets/images/wordpressLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 2 , Name = "Adobe Xd" , ImageSrc = "../assets/images/xdLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 2 , Name = "SonarQube" , ImageSrc = "../assets/images/sonarLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 2 , Name = "Figma" , ImageSrc = "../assets/images/figmaLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 1 , Name = "Rider" , ImageSrc = "../assets/images/riderLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 1 , Name = "NDepend" , ImageSrc = "../assets/images/ndependLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 1 , Name = "Studio 3T" , ImageSrc = "../assets/images/studio3tLogo.png"},
|
||||
};
|
||||
public static List<SkillItemModel> SkillItemModels = new List<SkillItemModel>
|
||||
{
|
||||
new SkillItemModel{ExperiencePeriod = 7 , Name = "C# Programming" , ImageSrc = "https://static.javatpoint.com/csharp/images/c-sharp.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 7 , Name = "C++ Programming" , ImageSrc = "../assets/images/cppLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 6 , Name = "Asp .Net Core" , ImageSrc = "../assets/images/netcorLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 6 , Name = "Xamarin" , ImageSrc = "../assets/images/xamarinLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 6 , Name = "Xamarin Forms" , ImageSrc = "../assets/images/xamarinLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 2 , Name = ".NET MAUI" , ImageSrc = "../assets/images/mauiLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "Prism" , ImageSrc = "../assets/images/prismLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 6 , Name = "iOS Application" , ImageSrc = "../assets/images/iosLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 6 , Name = "Android Application" , ImageSrc = "../assets/images/androidLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 6 , Name = "Git" , ImageSrc = "https://git-scm.com/images/logos/downloads/Git-Icon-1788C.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "Microsoft SQL Server" , ImageSrc = "https://logowik.com/content/uploads/images/microsoft-sql-server4529.jpg"},
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "Windows Application" , ImageSrc = "https://www.sketchappsources.com/resources/source-image/windows-logo-alesiamjau.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "Wpf" , ImageSrc = "../assets/images/netcorLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "SOLID" , ImageSrc = "../assets/images/solidLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "DDD" , ImageSrc = "../assets/images/dddLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "XAML" , ImageSrc = "../assets/images/xamlLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "MVVM Design Pattern" , ImageSrc = "../assets/images/mvvmLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "Entity Framework Core" , ImageSrc = "https://codeopinion.com/wp-content/uploads/2017/10/Bitmap-MEDIUM_Entity-Framework-Core-Logo_2colors_Square_Boxed_RGB.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "RESTful Api" , ImageSrc = "https://lh3.googleusercontent.com/-XvJzhz3pfH0/XjYG_xWkESI/AAAAAAAAJ9c/AYlgAtRknEU2W5fMcFhQoL6rmO8EBtIDQCK8BGAsYHg/s0/2020-02-01.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "Web API" , ImageSrc = "https://static.javatpoint.com/tutorial/webapi/images/web-api-tutorial.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "Postgress SQL" , ImageSrc = "https://www.influxdata.com/wp-content/uploads/PostgreSQL-logo.jpg"},
|
||||
new SkillItemModel{ExperiencePeriod = 5 , Name = "Scrum" , ImageSrc = "https://images.credly.com/images/db768524-81d9-435e-96fc-33b517e15616/blob.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 4 , Name = "SignalR" , ImageSrc = "https://img.stackshare.io/service/4013/SignalR-logo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 3 , Name = "Docker" , ImageSrc = "../assets/images/dockerLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 4 , Name = "UI-UX" , ImageSrc = "https://artographic.ir/file/attach/202102/1330.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 4 , Name = "Clean Architecture" , ImageSrc = "../assets/images/carchLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 4 , Name = "MicroServices" , ImageSrc = "../assets/images/microserviceLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 4 , Name = "Redis" , ImageSrc = "../assets/images/redisLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 3 , Name = "STOMP" , ImageSrc = "https://seeklogo.com/images/S/STOMP-logo-9B23B79AF7-seeklogo.com.gif"},
|
||||
new SkillItemModel{ExperiencePeriod = 3 , Name = "RabbitMQ" , ImageSrc = "../assets/images/rabbitLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 3 , Name = "DevOps" , ImageSrc = "https://cdn.dribbble.com/users/13574/screenshots/9711275/logo-devops.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 3 , Name = "MongoDB" , ImageSrc = "https://res.cloudinary.com/hevo/image/upload/f_auto,q_auto/v1626694700/hevo-blog/MongoDB-sm-logo-500x400-1-1.gif"},
|
||||
new SkillItemModel{ExperiencePeriod = 3 , Name = "gRPC" , ImageSrc = "https://avatars.githubusercontent.com/u/7802525?s=280&v=4"},
|
||||
new SkillItemModel{ExperiencePeriod = 2 , Name = "CICD" , ImageSrc = "../assets/images/cicdLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 2 , Name = "ML.Net" , ImageSrc = "../assets/images/mlLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 2 , Name = "QraphQL" , ImageSrc = "../assets/images/graphLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 2 , Name = "Unity" , ImageSrc = "../assets/images/unityLogo.png"},
|
||||
new SkillItemModel{ExperiencePeriod = 10 , Name = "Googling" , ImageSrc = "../assets/images/googleLogo.png"},
|
||||
};
|
||||
|
||||
}
|
|
@ -1,10 +1,9 @@
|
|||
namespace Resume.Blazor.Models.ItemModels;
|
||||
namespace Resume.BlazorSS.Models.ItemModels;
|
||||
public class ProjectItemModel
|
||||
{
|
||||
public bool ShowButton { get; set; } = true;
|
||||
public string Name { get; set; }
|
||||
public string ImageSrc { get; set; }
|
||||
public string VideoSrc { get; set; }
|
||||
public string Link { get; set; }
|
||||
public string ButtonText { get; set; }
|
||||
public string Detail { get; set; }
|
|
@ -1,4 +1,4 @@
|
|||
namespace Resume.Blazor.Models.ItemModels;
|
||||
namespace Resume.BlazorSS.Models.ItemModels;
|
||||
public class SkillItemModel
|
||||
{
|
||||
public string Name { get; set; }
|
|
@ -0,0 +1,42 @@
|
|||
@page
|
||||
@model Resume.BlazorSS.Pages.ErrorModel
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
||||
<title>Error</title>
|
||||
<link href="~/css/bootstrap/bootstrap.min.css" rel="stylesheet" />
|
||||
<link href="~/css/site.css" rel="stylesheet" asp-append-version="true" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="main">
|
||||
<div class="content px-4">
|
||||
<h1 class="text-danger">Error.</h1>
|
||||
<h2 class="text-danger">An error occurred while processing your request.</h2>
|
||||
|
||||
@if (Model.ShowRequestId)
|
||||
{
|
||||
<p>
|
||||
<strong>Request ID:</strong> <code>@Model.RequestId</code>
|
||||
</p>
|
||||
}
|
||||
|
||||
<h3>Development Mode</h3>
|
||||
<p>
|
||||
Swapping to the <strong>Development</strong> environment displays detailed information about the error that occurred.
|
||||
</p>
|
||||
<p>
|
||||
<strong>The Development environment shouldn't be enabled for deployed applications.</strong>
|
||||
It can result in displaying sensitive information from exceptions to end users.
|
||||
For local debugging, enable the <strong>Development</strong> environment by setting the <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to <strong>Development</strong>
|
||||
and restarting the app.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,27 @@
|
|||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace Resume.BlazorSS.Pages
|
||||
{
|
||||
[ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
|
||||
[IgnoreAntiforgeryToken]
|
||||
public class ErrorModel : PageModel
|
||||
{
|
||||
public string? RequestId { get; set; }
|
||||
|
||||
public bool ShowRequestId => !string.IsNullOrEmpty(RequestId);
|
||||
|
||||
private readonly ILogger<ErrorModel> _logger;
|
||||
|
||||
public ErrorModel(ILogger<ErrorModel> logger)
|
||||
{
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public void OnGet()
|
||||
{
|
||||
RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,238 @@
|
|||
@page "/"
|
||||
@using Resume.BlazorSS.Components.ItemTemplate
|
||||
@using Resume.BlazorSS.Helpers
|
||||
@using Resume.BlazorSS.Models.ItemModels
|
||||
|
||||
<MudContainer MaxWidth="MaxWidth.ExtraExtraLarge">
|
||||
|
||||
<MudGrid>
|
||||
|
||||
<MudItem xs="0" md="3" class="bg-transparent">
|
||||
<div class="m-8">
|
||||
<img src="https://s3.ir-thr-at1.arvanstorage.ir/igarson/Images/utils/photo_2023-06-18_11-20-13.jpg"
|
||||
class="rounded-md" />
|
||||
<p class="text-white font-bold font-outfit-bold text-3xl mt-8" Typo="Typo.h1"> Amir Hossein Khademi </p>
|
||||
<h2 class="bg-clip-text font-extrabold font-outfit-black text-2xl text-transparent bg-gradient-to-r mb-8 from-pink-500
|
||||
to-violet-500">
|
||||
Software Engineer
|
||||
</h2>
|
||||
<div class="h-[0.1rem] bg-white opacity-10"></div>
|
||||
<p class="my-5 text-gray-400">Contact Info</p>
|
||||
|
||||
<ContactInfoItemTemplate Title="Email" Detail="avvampier@gmail.com" SvgPath="M8.33325 8.33329H1.66659C1.20635 8.33329 0.833252 7.9602 0.833252 7.49996V2.46371C0.852672 2.01769 1.22014
|
||||
1.6662 1.66659 1.66663H8.33325C8.79349 1.66663 9.16659 2.03972 9.16659 2.49996V7.49996C9.16659 7.9602 8.79349 8.33329
|
||||
8.33325 8.33329ZM1.66659 3.27829V7.49996H8.33325V3.27829L4.99992 5.49996L1.66659 3.27829ZM1.99992 2.49996L4.99992
|
||||
4.49996L7.99992 2.49996H1.99992Z" />
|
||||
|
||||
<ContactInfoItemTemplate Title="Phone" Detail="(+98) 921 480 2813" SvgPath="M7.9157 8.33329C4.36086 8.33833 1.66295 5.60808 1.66675 2.08434C1.66675 1.85422 1.8533 1.66663 2.08342
|
||||
1.66663H3.18315C3.38964 1.66663 3.56505 1.81835 3.59537 2.0226C3.66804 2.51212 3.81057 2.9887 4.01862 3.43775L4.06143
|
||||
3.53017C4.12097 3.65867 4.08061 3.81135 3.96536 3.89366C3.62479 4.13687 3.49463 4.62644 3.75995 5.00844C4.09291 5.48781
|
||||
4.5126 5.90742 4.99186 6.24022C5.37384 6.50546 5.86333 6.37532 6.10654 6.03481C6.1889 5.9195 6.34167 5.87913 6.47025
|
||||
5.93869L6.56224 5.9813C7.01133 6.18933 7.48793 6.33187 7.97751 6.40452C8.18177 6.43484 8.33341 6.61024 8.33341
|
||||
6.81674V7.91662C8.33341 8.14674 8.14641 8.33328 7.91629 8.33328L7.9157 8.33329Z" />
|
||||
|
||||
|
||||
<ContactInfoItemTemplate Title="Address" Detail="Tehran" SvgPath="M4.99992 8.74996C4.47364 8.30106 3.98583 7.80893 3.54159 7.27871C2.87492 6.48246 2.08325 5.29663 2.08325
|
||||
4.16663C2.08266 2.98644 2.79336 1.92221 3.8837 1.47054C4.97404 1.01888 6.22911 1.26881 7.06325 2.10371C7.61178 2.6498
|
||||
7.91905 3.39262 7.9166 4.16663C7.9166 5.29663 7.12492 6.48246 6.45825 7.27871C6.01401 7.80893 5.5262 8.30106 4.99992
|
||||
8.74996ZM4.99992 2.91663C4.55334 2.91663 4.14068 3.15488 3.91739 3.54163C3.6941 3.92838 3.6941 4.40488 3.91739
|
||||
4.79163C4.14068 5.17838 4.55334 5.41663 4.99992 5.41663C5.69028 5.41663 6.24992 4.85698 6.24992 4.16663C6.24992 3.47627
|
||||
5.69028 2.91663 4.99992 2.91663Z" />
|
||||
|
||||
<div class="h-[0.1rem] bg-white opacity-10"></div>
|
||||
<p class="my-5 text-gray-400">Socials</p>
|
||||
|
||||
<a target="_blank" href="https://instagram.com/mr.mohande3">
|
||||
<div class="flex flex-row my-5">
|
||||
<div>
|
||||
<svg width="40" height="40" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect y="0.5" width="16" height="16" rx="8" fill="url(#paint0_radial_357_1266)" />
|
||||
<rect y="0.5" width="16" height="16" rx="8" fill="url(#paint1_radial_357_1266)" fill-opacity="0.2" />
|
||||
<path d="M6.33373 8.5002C6.33373 7.57972 7.07972 6.83333 8.0002 6.83333C8.92068 6.83333 9.66707 7.57972 9.66707 8.5002C9.66707
|
||||
9.42068 8.92068 10.1671 8.0002 10.1671C7.07972 10.1671 6.33373 9.42068 6.33373 8.5002ZM5.43266 8.5002C5.43266 9.91826
|
||||
6.58214 11.0677 8.0002 11.0677C9.41826 11.0677 10.5677 9.91826 10.5677 8.5002C10.5677 7.08214 9.41826 5.93266 8.0002
|
||||
5.93266C6.58214 5.93266 5.4327 7.08206 5.4327 8.5002H5.43266ZM10.0694 5.83085C10.0694 5.94953 10.1045 6.06555 10.1704
|
||||
6.16425C10.2363 6.26295 10.33 6.33989 10.4396 6.38535C10.5492 6.43081 10.6698 6.44274 10.7863 6.41964C10.9027 6.39653
|
||||
11.0096 6.33943 11.0935 6.25554C11.1775 6.17166 11.2347 6.06477 11.2579 5.94839C11.2811 5.832 11.2692 5.71135 11.2239
|
||||
5.6017C11.1785 5.49204 11.1016 5.3983 11.003 5.33233C10.9043 5.26635 10.7883 5.23112 10.6697 5.23107H10.6694C10.5104
|
||||
5.23114 10.3578 5.29435 10.2453 5.40681C10.1328 5.51927 10.0695 5.67178 10.0694 5.83085ZM5.98012 12.5703C5.49262 12.5481
|
||||
5.22765 12.4669 5.05156 12.3983C4.81811 12.3074 4.65155 12.1992 4.47642 12.0243C4.30129 11.8494 4.19289 11.683 4.1024
|
||||
11.4495C4.03376 11.2735 3.95256 11.0085 3.9304 10.521C3.90616 9.9939 3.90132 9.83557 3.90132 8.50028C3.90132 7.16499
|
||||
3.90656 7.0071 3.9304 6.4796C3.9526 5.9921 4.0344 5.72757 4.1024 5.55104C4.19329 5.31759 4.30153 5.15103 4.47642
|
||||
4.9759C4.65131 4.80077 4.81771 4.69237 5.05156 4.60188C5.22757 4.53324 5.49262 4.45204 5.98012 4.42988C6.50718 4.40564
|
||||
6.66551 4.4008 8.0002 4.4008C9.33489 4.4008 9.49338 4.40596 10.0209 4.42996C10.5084 4.45216 10.7729 4.53396 10.9494
|
||||
4.60196C11.1829 4.69245 11.3495 4.80109 11.5246 4.97598C11.6997 5.15087 11.8077 5.31767 11.8986 5.55112C11.9672 5.72713
|
||||
12.0484 5.99218 12.0706 6.47968C12.0948 7.00718 12.0997 7.16507 12.0997 8.50036C12.0997 9.83565 12.0948 9.99354 12.0706
|
||||
10.521C12.0484 11.0085 11.9668 11.2735 11.8986 11.4496C11.8077 11.683 11.6995 11.8496 11.5246 12.0243C11.3497 12.1991
|
||||
11.1829 12.3075 10.9494 12.3984C10.7734 12.467 10.5084 12.5482 10.0209 12.5704C9.49382 12.5946 9.33549 12.5994 8.0002
|
||||
12.5994C6.66491 12.5994 6.50702 12.5946 5.98012 12.5704V12.5703ZM5.93872 3.53028C5.40642 3.55452 5.04268 3.63893 4.72503
|
||||
3.76253C4.39626 3.89018 4.11756 4.06142 3.83927 4.33927C3.56098 4.61713 3.39018 4.89586 3.26253 5.22503C3.13893 5.54288
|
||||
3.05452 5.90642 3.03028 6.43872C3.00564 6.97186 3 7.14231 3 8.5002C3 9.8581 3.00564 10.0285 3.03028 10.5617C3.05452
|
||||
11.094 3.13893 11.4575 3.26253 11.7754C3.39018 12.1041 3.56102 12.3834 3.83927 12.6611C4.11752 12.9389 4.39586 13.1099
|
||||
4.72503 13.2379C5.04328 13.3615 5.40642 13.4459 5.93872 13.4701C6.47214 13.4944 6.64231 13.5004 8.0002 13.5004C9.35809
|
||||
13.5004 9.52854 13.4948 10.0617 13.4701C10.594 13.4459 10.9575 13.3615 11.2754 13.2379C11.6041 13.1099 11.8828 12.939
|
||||
12.1611 12.6611C12.4394 12.3833 12.6099 12.1041 12.7379 11.7754C12.8615 11.4575 12.9463 11.094 12.9701 10.5617C12.9944
|
||||
10.0281 13 9.8581 13 8.5002C13 7.14231 12.9944 6.97186 12.9701 6.43872C12.9459 5.90638 12.8615 5.54268 12.7379
|
||||
5.22503C12.6099 4.89626 12.439 4.61757 12.1611 4.33927C11.8833 4.06098 11.6041 3.89018 11.2758 3.76253C10.9575 3.63893
|
||||
10.594 3.55412 10.0621 3.53028C9.52886 3.50592 9.3585 3.5 8.0008 3.5C6.64311 3.5 6.47234 3.50564 5.93892 3.53028"
|
||||
fill="white" />
|
||||
<defs>
|
||||
<radialGradient id="paint0_radial_357_1266" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(1.0355 16.1495) scale(20.3141)">
|
||||
<stop offset="0.09" stop-color="#FA8F21" />
|
||||
<stop offset="0.78" stop-color="#D82D7E" />
|
||||
</radialGradient>
|
||||
<radialGradient id="paint1_radial_357_1266" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="translate(8 16) scale(12.5)">
|
||||
<stop offset="0.713542" stop-color="#8C3AAA" stop-opacity="0" />
|
||||
<stop offset="1" stop-color="#8C3AAA" />
|
||||
</radialGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="mx-4">
|
||||
<p class="text-gray-400 text-sm -mb-1">Instagram</p>
|
||||
<a class="text-white -mt-1" target="_blank" href="https://instagram.com/mr.mohande3">mr.mohande3</a>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a target="_blank" href="https://x.com/mrmohande3">
|
||||
<div class="flex flex-row my-5">
|
||||
<div class="p-1 bg-[#00ACEE] my-auto rounded-full">
|
||||
|
||||
<img class="w-7 h-7"
|
||||
src="https://png.pngtree.com/png-vector/20221018/ourmid/pngtree-twitter-social-media-round-icon-png-image_6315985.png" />
|
||||
|
||||
</div>
|
||||
<div class="mx-4">
|
||||
<p class="text-gray-400 text-sm -mb-1">Twitter</p>
|
||||
<a target="_blank" href="https://x.com/mrmohande3" class="text-white">Amir Hossein Khademi</a>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a target="_blank" href="https://linkedin.com/in/mrmohande3">
|
||||
<div class="flex flex-row my-5">
|
||||
<div class="p-1 bg-[#0077B5] my-auto rounded-full">
|
||||
|
||||
<img class="w-7 h-7 rounded-full"
|
||||
src="https://upload.wikimedia.org/wikipedia/commons/thumb/c/ca/LinkedIn_logo_initials.png/800px-LinkedIn_logo_initials.png" />
|
||||
|
||||
</div>
|
||||
<div class="mx-4">
|
||||
<p class="text-gray-400 text-sm -mb-1">Linkdin</p>
|
||||
<a class="text-white -mt-1" target="_blank" href="https://linkedin.com/in/mrmohande3">mrmohande3</a>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</MudItem>
|
||||
<MudItem xs="12" md="9" class="bg-transparent">
|
||||
<MudStack Row="true" AlignItems="AlignItems.Center">
|
||||
<div class="bg-[#2E2E48] w-10 h-10 rounded-full">
|
||||
<div class="bg-[#C696FC] w-3 h-3 rounded-full m-3.5"></div>
|
||||
</div>
|
||||
<p class="text-white text-2xl font-bold">Experience</p>
|
||||
</MudStack>
|
||||
<div class="flex md:ml-5 flex-row">
|
||||
<div class="w-0.5 bg-[#2E2E48] h-auto collapse md:visible"></div>
|
||||
|
||||
<MudGrid class="ml-5 my-5">
|
||||
|
||||
<MudItem sm="6">
|
||||
|
||||
<ExperienceItemTemplate Period="April 2018 - Now"
|
||||
Feilds="@(new string[] {"Co-Founder" , "Senior .Net Developer"})" HasLeftBorder="true"
|
||||
ImageSrc="../assets/images/vnfLogo.png" CompanyName="Vira Nasir Fanafar"
|
||||
Detail="Since 2018, with the start of startup activity , we introduce our brand , Vira Nasr Fanavar and I have been responsible as Co-Founder , senior .Net Developer of projects." />
|
||||
</MudItem>
|
||||
|
||||
<MudItem sm="6">
|
||||
<ExperienceItemTemplate Period="June 2019 - Now" Feilds="@(new string[] {"Scrum Master"})"
|
||||
ImageSrc="../assets/images/mucutLogo.png" HasLeftBorder="false" CompanyName="Sahand Company"
|
||||
Detail="Since 2020, I have been working as a Scrum Master in Sahand company, while also developing and implementing the idea of a startup called Mokat. I gained valuable experiences in development, implementation, and team building." />
|
||||
</MudItem>
|
||||
|
||||
</MudGrid>
|
||||
</div>
|
||||
|
||||
<MudStack Row="true" AlignItems="AlignItems.Center">
|
||||
<div class="bg-[#2E2E48] w-10 h-10 rounded-full">
|
||||
<div class="bg-[#C696FC] w-3 h-3 rounded-full m-3.5"></div>
|
||||
</div>
|
||||
<MudText class=" text-white text-2xl font-bold">
|
||||
<p>Latest Projects</p>
|
||||
</MudText>
|
||||
</MudStack>
|
||||
<MudStack Row="true" class="md:ml-5">
|
||||
<div class="w-0.5 md:mr-10 bg-[#2E2E48] h-auto collapse md:visible"></div>
|
||||
<MudGrid class="my-5" Spacing="1" Justify="Justify.Center">
|
||||
@foreach (var item in ProjectItemModels)
|
||||
{
|
||||
<MudItem xs="12" sm="6" md="6" lg="6" xl="3">
|
||||
<ProjectItemTemplate Name="@item.Name" Detail="@item.Detail" ImageSrc="@item.ImageSrc"
|
||||
ShowButton="@item.ShowButton" Link="@item.Link" Feilds="@item.Feilds" ButtonText="@item.ButtonText" />
|
||||
</MudItem>
|
||||
}
|
||||
</MudGrid>
|
||||
|
||||
</MudStack>
|
||||
|
||||
|
||||
|
||||
|
||||
<MudStack Row="true" AlignItems="AlignItems.Center">
|
||||
<div class="bg-[#2E2E48] w-10 h-10 rounded-full">
|
||||
<div class="bg-[#C696FC] w-3 h-3 rounded-full m-3.5"></div>
|
||||
</div>
|
||||
<p class="my-auto mx-5 text-white text-2xl font-bold">Skills</p>
|
||||
</MudStack>
|
||||
<MudStack Row="true" class="md:ml-5">
|
||||
<div class="w-0.5 collapse md:visible md:mr-10 bg-[#2E2E48] h-auto"></div>
|
||||
<MudGrid class="my-5" Spacing="1">
|
||||
@foreach (var item in SkillItemModels)
|
||||
{
|
||||
<MudItem xs="6" sm="4" md="4" lg="3">
|
||||
<SkillItemTemplate Name="@item.Name" ExperiencePeriod="@item.ExperiencePeriod" ImageSrc="@item.ImageSrc" />
|
||||
</MudItem>
|
||||
}
|
||||
|
||||
</MudGrid>
|
||||
</MudStack>
|
||||
|
||||
|
||||
|
||||
|
||||
<MudStack Row="true" AlignItems="AlignItems.Center">
|
||||
<div class="bg-[#2E2E48] w-10 h-10 rounded-full">
|
||||
<div class="bg-[#C696FC] w-3 h-3 rounded-full m-3.5"></div>
|
||||
</div>
|
||||
<p class="my-auto mx-5 text-white text-2xl font-bold">Tools</p>
|
||||
</MudStack>
|
||||
<MudStack Row="true" class="md:ml-15">
|
||||
<div class="w-0.5 collapse md:mr-10 bg-[#2E2E48] h-auto"></div>
|
||||
<MudGrid class="my-5" Spacing="1" Justify="Justify.Center">
|
||||
@foreach (var item in ToolsItemModels)
|
||||
{
|
||||
<MudItem xs="6" sm="4" md="4" lg="2">
|
||||
<ToolsItemTemplate Name="@item.Name" ExperiencePeriod="@item.ExperiencePeriod" ImageSrc="@item.ImageSrc" />
|
||||
</MudItem>
|
||||
}
|
||||
</MudGrid>
|
||||
</MudStack>
|
||||
|
||||
|
||||
</MudItem>
|
||||
|
||||
</MudGrid>
|
||||
</MudContainer>
|
||||
|
||||
@code
|
||||
{
|
||||
|
||||
[Parameter] public List<SkillItemModel> SkillItemModels { get; set; } = ExperienceHelper.SkillItemModels;
|
||||
[Parameter] public List<SkillItemModel> ToolsItemModels { get; set; } = ExperienceHelper.ToolsItemModels;
|
||||
[Parameter] public List<ProjectItemModel> ProjectItemModels { get; set; } = ExperienceHelper.ProjectItemModels;
|
||||
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
@page "/"
|
||||
@using Microsoft.AspNetCore.Components.Web
|
||||
@namespace Resume.BlazorSS.Pages
|
||||
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<base href="~/" />
|
||||
<link href="css/site.min.css" rel="stylesheet" />
|
||||
<link rel="icon" type="image/png" href="favicon.png" />
|
||||
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" rel="stylesheet" />
|
||||
<link href="_content/MudBlazor/MudBlazor.min.css" rel="stylesheet" />
|
||||
<component type="typeof(HeadOutlet)" render-mode="ServerPrerendered" />
|
||||
|
||||
|
||||
|
||||
<meta name="theme-color" content="#232339" />
|
||||
<meta name="description" content="امیرحسین خادمی | Amir Hossein Khademi مهندس نرم افزار و توسعه دهنده .net">
|
||||
<meta property="og:title" content="Amir Hossein Khademi | امیرحسین خادمی">
|
||||
<meta property="og:description" content="امیرحسین خادمی | Amir Hossein Khademi مهندس نرم افزار و توسعه دهنده .net">
|
||||
<meta property="og:url" content="https://amir-khademi.ir">
|
||||
<meta name="twitter:title" content="Amir Hossein Khademi | امیرحسین خادمی">
|
||||
<meta name="twitter:description" content="امیرحسین خادمی | Amir Hossein Khademi مهندس نرم افزار و توسعه دهنده .net">
|
||||
<meta name="twitter:url" content="https://mucut.ir">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<component type="typeof(App)" render-mode="ServerPrerendered" />
|
||||
|
||||
<div id="blazor-error-ui">
|
||||
<environment include="Staging,Production">
|
||||
An error has occurred. This application may no longer respond until reloaded.
|
||||
</environment>
|
||||
<environment include="Development">
|
||||
An unhandled exception has occurred. See browser dev tools for details.
|
||||
</environment>
|
||||
<a href="" class="reload">Reload</a>
|
||||
<a class="dismiss">🗙</a>
|
||||
</div>
|
||||
|
||||
<script src="_framework/blazor.server.js"></script>
|
||||
<script src="_content/MudBlazor/MudBlazor.min.js"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,29 @@
|
|||
using MudBlazor.Services;
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
|
||||
// Add services to the container.
|
||||
builder.Services.AddRazorPages();
|
||||
builder.Services.AddServerSideBlazor();
|
||||
builder.Services.AddMudServices();
|
||||
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
// Configure the HTTP request pipeline.
|
||||
if (!app.Environment.IsDevelopment())
|
||||
{
|
||||
app.UseExceptionHandler("/Error");
|
||||
app.UseHsts();
|
||||
}
|
||||
|
||||
app.UseHttpsRedirection();
|
||||
|
||||
app.UseStaticFiles();
|
||||
|
||||
app.UseRouting();
|
||||
|
||||
app.MapBlazorHub();
|
||||
app.MapFallbackToPage("/_Host");
|
||||
|
||||
app.Run();
|
|
@ -0,0 +1,47 @@
|
|||
{
|
||||
"profiles": {
|
||||
"http": {
|
||||
"commandName": "Project",
|
||||
"launchBrowser": true,
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
},
|
||||
"dotnetRunMessages": true,
|
||||
"applicationUrl": "http://localhost:5023"
|
||||
},
|
||||
"https": {
|
||||
"commandName": "Project",
|
||||
"launchBrowser": true,
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
},
|
||||
"dotnetRunMessages": true,
|
||||
"applicationUrl": "https://localhost:7271;http://localhost:5023"
|
||||
},
|
||||
"IIS Express": {
|
||||
"commandName": "IISExpress",
|
||||
"launchBrowser": true,
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"Container (Dockerfile)": {
|
||||
"commandName": "Docker",
|
||||
"launchBrowser": true,
|
||||
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_URLS": "https://+:443;http://+:80"
|
||||
},
|
||||
"publishAllPorts": true,
|
||||
"useSSL": true
|
||||
}
|
||||
},
|
||||
"iisSettings": {
|
||||
"windowsAuthentication": false,
|
||||
"anonymousAuthentication": true,
|
||||
"iisExpress": {
|
||||
"applicationUrl": "http://localhost:17475",
|
||||
"sslPort": 44330
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
|
||||
<Exec Command="npm run buildcss" />
|
||||
</Target>
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<UserSecretsId>d2d661a9-c192-4290-9ecd-5f597df0e1a6</UserSecretsId>
|
||||
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.19.6" />
|
||||
<PackageReference Include="MudBlazor" Version="6.19.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Pages\AdminPanel\" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
|
@ -0,0 +1,10 @@
|
|||
@inherits LayoutComponentBase
|
||||
<MudThemeProvider IsDarkMode="true" />
|
||||
<MudDialogProvider />
|
||||
<MudSnackbarProvider />
|
||||
|
||||
<MudLayout>
|
||||
<MudMainContent class="bg-[#232339] pt-5">
|
||||
@Body
|
||||
</MudMainContent>
|
||||
</MudLayout>
|
|
@ -0,0 +1,70 @@
|
|||
.page {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
main {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
|
||||
}
|
||||
|
||||
.top-row {
|
||||
background-color: #f7f7f7;
|
||||
border-bottom: 1px solid #d6d5d5;
|
||||
justify-content: flex-end;
|
||||
height: 3.5rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.top-row ::deep a, .top-row .btn-link {
|
||||
white-space: nowrap;
|
||||
margin-left: 1.5rem;
|
||||
}
|
||||
|
||||
.top-row a:first-child {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
@media (max-width: 640.98px) {
|
||||
.top-row:not(.auth) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.top-row.auth {
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.top-row a, .top-row .btn-link {
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 641px) {
|
||||
.page {
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
width: 250px;
|
||||
height: 100vh;
|
||||
position: sticky;
|
||||
top: 0;
|
||||
}
|
||||
|
||||
.top-row {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.top-row, article {
|
||||
padding-left: 2rem !important;
|
||||
padding-right: 1.5rem !important;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
<div class="top-row ps-3 navbar navbar-dark">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand" href="">Resume.BlazorSS</a>
|
||||
<button title="Navigation menu" class="navbar-toggler" @onclick="ToggleNavMenu">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="@NavMenuCssClass nav-scrollable" @onclick="ToggleNavMenu">
|
||||
<nav class="flex-column">
|
||||
<div class="nav-item px-3">
|
||||
<NavLink class="nav-link" href="" Match="NavLinkMatch.All">
|
||||
<span class="oi oi-home" aria-hidden="true"></span> Home
|
||||
</NavLink>
|
||||
</div>
|
||||
<div class="nav-item px-3">
|
||||
<NavLink class="nav-link" href="counter">
|
||||
<span class="oi oi-plus" aria-hidden="true"></span> Counter
|
||||
</NavLink>
|
||||
</div>
|
||||
<div class="nav-item px-3">
|
||||
<NavLink class="nav-link" href="fetchdata">
|
||||
<span class="oi oi-list-rich" aria-hidden="true"></span> Fetch data
|
||||
</NavLink>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
@code {
|
||||
private bool collapseNavMenu = true;
|
||||
|
||||
private string? NavMenuCssClass => collapseNavMenu ? "collapse" : null;
|
||||
|
||||
private void ToggleNavMenu()
|
||||
{
|
||||
collapseNavMenu = !collapseNavMenu;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
<div class="alert alert-secondary mt-4">
|
||||
<span class="oi oi-pencil me-2" aria-hidden="true"></span>
|
||||
<strong>@Title</strong>
|
||||
|
||||
<span class="text-nowrap">
|
||||
Please take our
|
||||
<a target="_blank" class="font-weight-bold link-dark" href="https://go.microsoft.com/fwlink/?linkid=2186158">brief survey</a>
|
||||
</span>
|
||||
and tell us what you think.
|
||||
</div>
|
||||
|
||||
@code {
|
||||
// Demonstrates how a parent component can supply parameters
|
||||
[Parameter]
|
||||
public string? Title { get; set; }
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
@using System.Net.Http
|
||||
@using Microsoft.AspNetCore.Authorization
|
||||
@using Microsoft.AspNetCore.Components.Authorization
|
||||
@using Microsoft.AspNetCore.Components.Forms
|
||||
@using Microsoft.AspNetCore.Components.Routing
|
||||
@using Microsoft.AspNetCore.Components.Web
|
||||
@using Microsoft.AspNetCore.Components.Web.Virtualization
|
||||
@using Microsoft.JSInterop
|
||||
@using Resume.BlazorSS
|
||||
@using Resume.BlazorSS.Shared
|
||||
@using MudBlazor
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"DetailedErrors": true,
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.AspNetCore": "Warning"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.AspNetCore": "Warning"
|
||||
}
|
||||
},
|
||||
"AllowedHosts": "*"
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
"buildcss": "postcss wwwroot/css/site.css -o wwwroot/css/site.min.css"
|
||||
},
|
||||
"dependencies": {
|
||||
"autoprefixer": "^10.4.19",
|
||||
"postcss": "^8.4.38",
|
||||
"postcss-cli": "^11.0.0",
|
||||
"tailwindcss": "^3.4.3"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
module.exports = {
|
||||
plugins: {
|
||||
tailwindcss: {},
|
||||
autoprefixer: {},
|
||||
},
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
/** @type {import('tailwindcss').Config} */
|
||||
module.exports = {
|
||||
purge: {
|
||||
enabled: true,
|
||||
content: [
|
||||
'./**/*.html',
|
||||
'./**/*.razor'
|
||||
],
|
||||
},
|
||||
content: ["./src/**/*.{razor,html,cshtml}"],
|
||||
theme: {
|
||||
extend:
|
||||
{
|
||||
fontFamily: {
|
||||
'outfit': ['Outfit', 'sans-serif'],
|
||||
'outfit-black': ['Outfit-Black', 'sans-serif'],
|
||||
'poppins': ['Poppins', 'sans-serif']
|
||||
},
|
||||
},
|
||||
},
|
||||
plugins: [],
|
||||
}
|
||||
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 206 KiB After Width: | Height: | Size: 206 KiB |