Loktos Builder
Loktos Builder is a professional desktop application developed for Eyesoft Bilişim to customize and package location-based applications without directly using the Unity game engine.
- Context
- Eyesoft Bilişim
- Category
- Desktop
- Period
- Nov 1, 2022 - Dec 1, 2022
Technologies
C# .NET 6 Windows Forms Application Autofac AWS SDK Core AWS SDK S3 Dapper Dapper FluentMap MySQL Newtonsoft.Json RealTaiizor Dependency Injection Unity CLI Git GitLab CE Slack
Project Type
- The project is a desktop application developed with .NET 6.
- It simplifies the customization and packaging process of location-based applications produced for different companies.
Architecture / System Design
- The project can be described through three main layers: application, storage, and database.
- The application layer represents the desktop application used by company personnel.
- The storage layer uses AWS S3 to store generated application packages.
- The database layer represents the Loktos MySQL database.
- Dependencies across the application are managed through a Dependency Injection based structure.
- Long-running upload and build operations are executed asynchronously on a separate thread to avoid blocking the main thread.
- The Unity game engine is triggered in the background as a process through its CLI workflow.
Technologies Used
- Desktop development: C#, .NET 6, Windows Forms Application, RealTaiizor
- Architecture and data access: Dependency Injection, Autofac, Dapper, Dapper FluentMap
- Database and storage: MySQL, AWS SDK Core, AWS SDK S3
- Serialization and tooling: Newtonsoft.Json, Unity CLI
- Version control and collaboration: Git, GitLab CE, Slack
Key Technical Details and Modules
- Added multithread support for long-running operations.
- Integrated the application with AWS S3 for package storage.
- Used the Unity game engine in the background as a process through CLI commands.
- Prepared the application as a setup package for easier internal installation.
Participation and Timeline
- The project was developed for Eyesoft Bilişim.
- I developed the project independently based on the requirements shared by the company's co-founder.
- I was involved throughout the process during my time at the company between November 2022 and December 2022.
Project Management / Team Structure
- We did not use a Jira-like project management tool for this project.
- I installed GitLab CE on the company's server and moved the project repository there for version control.
- I also set up Slack for team communication and integrated it with the GitLab repository.
- The main stakeholder I worked with was the company's co-founder.
Personal Contributions and Responsibilities
- I was responsible for the entire project during the period I worked on it.
- I handled the desktop application development, package generation workflow, storage integration, version control setup, and internal collaboration tooling.
Deployment Information
- Since the project is an internal desktop application used only by company personnel, there is no public deployment information.
- The application was prepared for internal installation as a setup package.