personal-website/websiteapp/personalprops/personalprops.go

167 lines
4.1 KiB
Go
Raw Normal View History

2023-03-15 12:32:41 +00:00
package personalprops
2023-03-17 01:16:51 +00:00
import (
"personalwebsite/websiteapp"
"github.com/gin-gonic/gin"
)
2023-03-15 12:32:41 +00:00
type PersonalPropertiesApp struct {
2023-03-17 01:16:51 +00:00
manifest websiteapp.ApplicationManifest
2023-03-15 12:32:41 +00:00
}
func NewPersPropsApp() PersonalPropertiesApp {
2023-03-17 01:16:51 +00:00
newApp := PersonalPropertiesApp{
manifest: websiteapp.ApplicationManifest{
AppId: "personal-properties",
WindowName: "About me",
},
}
2023-03-15 12:32:41 +00:00
return newApp
}
2023-03-17 01:16:51 +00:00
func (p *PersonalPropertiesApp) GetManifest() websiteapp.ApplicationManifest {
return p.manifest
}
func (p *PersonalPropertiesApp) GetId() string {
return p.manifest.AppId
}
func (p *PersonalPropertiesApp) Render() gin.H {
// books := make([]Book, 0)
// books = append(books, Book{
// Title: "Title 1",
// Author: "Author 1",
// })
// books = append(books, Book{
// Title: "Title 2",
// Author: "Author 2",
// })
2023-03-18 00:34:56 +00:00
allProps := make([]PropIsland, 0)
2023-03-17 01:16:51 +00:00
2023-03-18 00:34:56 +00:00
// careerProps := make([]Prop, 0)
expertiseIsland := PropIsland{
Header: "Area Of Expertise",
Props: []PropElement{{
Key: "Programming",
Values: []string{
"Creating tools and plugins for artists",
"Editor and basic gameplay scripting",
},
2023-03-17 01:16:51 +00:00
},
2023-03-18 00:34:56 +00:00
{
Key: "Game Art",
Values: []string{
"Professional modeling",
"Complete knowledge in CG render theory",
},
},
2023-03-17 01:16:51 +00:00
},
2023-03-18 00:34:56 +00:00
}
eduIsland := PropIsland{
Header: "Education",
Props: []PropElement{
{
Key: "Gymnasium 526",
Values: []string{
"2005-2015",
"Extended natural sciences course",
"Additional C++, media production and computer graphics courses",
"Winner of conference “The future of a strong Russia is in high technology” in programming section",
},
},
{
Key: "Lyceum 281",
Values: []string{
"2015-2016",
"Extended IT and Physical sciences course",
},
},
{
Key: "University",
Values: []string{
"2017-2019",
"Faculty: Info-communication Networks and Systems",
"Specialty: Information Security",
},
},
2023-03-17 16:13:41 +00:00
},
2023-03-18 00:34:56 +00:00
}
careerProps := PropIsland{
Header: "Career",
Props: []PropElement{
{
Key: "VR lab assistant",
Values: []string{"February 2019 - March 2020", "Teaching lessons for students in Unreal Engine 4, Unity and Blender editor courses", "Training students for World Skills Russia"},
},
{
Key: "3d artist",
Values: []string{"March 2020 - June 2020", "Creating 3d assets for VR game"},
},
{
Key: "Jr. Techartist",
Values: []string{"Game content integration and production", "Shader coding", "Optimization asset production in artists pipeline"},
},
{
Key: "Techartist",
Values: []string{"Game content optimization and production", "Profiling and debugging render pipeline", "Creating in-house tools for pipeline software", "Working process pipeline integration and maintenance", "Linux servers administration"},
},
2023-03-17 01:16:51 +00:00
},
}
2023-03-18 00:34:56 +00:00
volunteerProps := PropIsland{
Header: "Volunteer Experience",
Props: []PropElement{
{
Key: "Metrostroi Mod",
Values: []string{
"Help unite fragmented community on one social platform",
"Worked on social elements of official site, create ranking",
"took a part on creating ranking system for players",
"Creating models and maps for Steam Workshop"},
},
{
Key: "Age of Silence",
Values: []string{
"Start as tech-artist, create naming system in big ue4 project",
"Promoted to chief of 3d Department",
"Project win Unreal Day 2019",
},
},
},
}
// testKeys := PropIsland{
// Header: "Test",
// Props: []PropElement{{
// Key: "Urtt",
// Values: []string{"BakaBaka"},
// }},
// }
allProps = append(allProps, expertiseIsland, careerProps, eduIsland, volunteerProps)
2023-03-17 01:16:51 +00:00
return gin.H{
2023-03-18 00:34:56 +00:00
"Name": "Greg Brzezinski",
"BasicBio": "Born 27.09.1998 at Saint-Petersburg",
// "BasicInfo": basicInfo,
// "career": careerProps,
2023-03-17 01:16:51 +00:00
"allprops": allProps,
}
2023-03-15 12:32:41 +00:00
}
type Book struct {
Title string
Author string
}
2023-03-17 01:16:51 +00:00
2023-03-17 16:13:41 +00:00
type PropElement struct {
Key string
Values []string
2023-03-17 01:16:51 +00:00
}
2023-03-18 00:34:56 +00:00
type PropIsland struct {
Header string
Props []PropElement
}
2023-03-17 01:16:51 +00:00
// func (p *PersonalPropertiesApp) GetContent(ctx *gin.Context) interface{} {
// }