Why I'm moving Lerna projects to .NET projects?
Video size:
Abstract
Leo loves to build open-source tools, applications, etc. He doesn’t have enough time to build complex applications or projects. He decides to move his old project from Lerna to .NET projects. He selects .NET because it has more support for Cloud and Containers. It’s easy to integrate with CI.
Summary
-
Bervianto Leo Pratama talks about why im moving Dana projects to the tech project. He wants to create a simple service to manage my personal passwords or secrets. And for the last he wants to easy to manage.
-
Why monolithic? Maybe most of you will say I think better using microservices, but for myself with a limited time it will hard to manage microservices. So I will choose monolithic and two tier web applications. Feel free to contribute or give feedback in the repository.
-
Clean architecture is mixed between infrastructure, the few or the business context. Always step by step to migrate to be more modular. If you want to rescoping your project, it's completely fine.
-
All right, that's all from me. Feel free to connect with me in LinkedIn and in dev two the same name befriend. Thank you everyone for joining this session.
Transcript
This transcript was autogenerated. To make changes, submit a PR.
Hello everyone, thank you for joining this session.
My name is Bervianto Leo Pratama and you can call
me Leo. Today I'm going to talk about why
im moving Dana projects to
the tech project. First of all as I mentioned
my name Bervianto Leo Pratama and you can call me Leo.
I'm a software engineer and
yeah I'm also sometimes with a blog
in devtool so feel free if you want to find
me in dev two you can see my
blog post in there. Other than that I
also active in LinkedIn so if you want to connect with
me or follow me, you can follow me
in LinkedIn with name Birfintola Pratama.
Today we will talk some points, the first points
project goals and after that why
I migrate the project the
migration background also what is my strategy
to migrate from learner to net and
also the current states. So what
the process and what the result.
And also I have some plans
to have more complex maybe or
more features in my surfaces.
And for the last I will
tell you about the lesson learned, the summary
and what I learned from duplication project.
First I will talk about the project goals.
So yeah it's just a simple goal. I want
to create a simple service to manage my
personal passwords or secrets. If you know some
services that similar with this
for example Lastpass or Bitwardern
or anything else. I want to create
a service for myself, a simple service
and I can self host it.
Yeah other than that I
want to have an open source project
for myself. But feel free if
you want to contribute it. And for the last I
want to easy to manage. Well maybe easy to
manage it's relative with you but
for me easy to manage its main I
can handle it with a limited time, I can handle
it and develop it with a limited time.
So the background because my project
in early stages I do not want
have a complex projects for the early stages.
Yeah I think it will better
if I have a simple surface, simple structure
and yeah my prefix structure.
As you can see in the image I have three tier
the first part front end I'm using few js
and for the back end part I'm using filter js and
for the last I'm using database.
Basically I need to change
the context in my mind because
in my daily basis im using net.
So it will need
I mean I need more time to change the context.
I need to learn how to coding with node
js, how to coding with vgs
and when I coding with
front end maybe I will need change my
context to backend. As you
can see my preface structures,
if you are already familiar with letter structures, is like
the first part using packages and after
that in front end using
from end folder and also for the back
end using back end folder. So it's basically have two
projects. But the question is
how the deployment target.
So I was
thinking about one year for this deployment
strategy and also CiCD strategy
because I have a limited time so
I never implement it because it's really hard
to manage multiple projects. That is why the
last question how about the capacities?
Well, because I have a limited time
and this project only be
so I decided to migrate.
This is the migration strategies.
First I will use analytic.
Why monolithic? Maybe most of you will say
I think better using microservices,
but for myself with a limited time
it will hard to manage microservices.
So I will choose monolithic
and two tier web applications.
So as you can see in the diagram,
I choose web app and also have
other database in separate services.
Why I'm using monolithic because it's
more manageable for a person with limited time.
I know if we have more
modules, more services, it will
hard to manage the monolithic.
But because the project in the first stages are
really simple, I think it will better using monolithic
and also why I decided using net because
I already familiar with it. Well the structure also
happens similar pattern with Lerna.
You can have multiple projects in one repo.
Yeah we can say it's a mono repo Internet
have a some structure. It will have some structure
well so it will more easy for me
to migrate into the net.
So the current state the
application is already deployed to AWS.
Im using Azure DevOps for pipelines.
I'm using Amazon ACR to host the Docker image.
So the web app I containers
using Docker and push
the docker image into Amazon easier.
Also I will host my web application
into AWS app runner. It will use
Docker image from Amazon easier. As I mentioned,
the repository is opensource. Feel free to
contribute or give feedback in the repository.
You can check in the link for the next I
want to apply clean
architecture basically because
it's mixed between infrastructure,
the few or the
business context. I want to separate
the business context with the infrastructure like
databases or the API.
Yeah, always step by step to
migrate to be more modular.
Okay, so what I
learned from migrating right now to.
Net yeah, I think it
cannot be applied to most of you,
but I want to say if you want to rescoping
your project, it's completely fine.
If want to rescoping your project based
on your offer data and also your needs,
feel free to scoping.
Don't think the best practice using
microservices is fine if you
want to use monolith well, so I
think it's completely fine. It's okay if
you want to use monolith in your first state
donut, and you
can migrate it step by step into microservices if
you want to. All right,
that's all from me. Thank you for joining this session.
If want to connect with me, feel free to connect with me.
In LinkedIn we can pratama.
Also you can connect with me in dev two the
same name befriend. Thank you everyone.