Skip to content

Commit

Permalink
add courses to getting started & update .net docs
Browse files Browse the repository at this point in the history
  • Loading branch information
A-Najmabadi committed Nov 16, 2023
1 parent cd24a79 commit 04d98ff
Show file tree
Hide file tree
Showing 7 changed files with 185 additions and 2 deletions.
10 changes: 10 additions & 0 deletions pages/app-deploy/django/getting-started.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,16 @@ export default () => (
از آن‌ها در برنامه‌ی‌تان استفاده کنید.
</p>

<p>
ما همراه شما هستیم. برای اینکه عملیات استقرار پروژه شما را بیش از پیش،
ساده‌تر کنیم؛ آموزش صفر تا صد استقرار برنامه Net. در لیارا را برای شما
تهیه کرده‌ایم: در این دوره آموزشی، تمامی مراحل لازم برای استقرار و اجرای
یک برنامه، قدم به قدم توضیح داده شده است. برای مشاهده آموزش کلیک کنید:{" "}
<a href="/tv/courses/django">
صفر تا صد استقرار برنامه‌های Django در لیارا
</a>
</p>

<p>
در حال حاضر، این نسخه‌ها از Python در هاست ابری Django لیارا پشتیبانی
می‌شود:
Expand Down
11 changes: 11 additions & 0 deletions pages/app-deploy/laravel/getting-started.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,17 @@ export default () => (
در هر گام، با یک ویژگی هاست ابری Laravel لیارا آشنا خواهید شد و می‌توانید
از آن‌ها در برنامه‌ی‌تان استفاده کنید.
</p>

<p>
ما همراه شما هستیم. برای اینکه عملیات استقرار پروژه شما را بیش از پیش،
ساده‌تر کنیم؛ آموزش صفر تا صد استقرار برنامه Net. در لیارا را برای شما
تهیه کرده‌ایم: در این دوره آموزشی، تمامی مراحل لازم برای استقرار و اجرای
یک برنامه، قدم به قدم توضیح داده شده است. برای مشاهده آموزش کلیک کنید:{" "}
<a href="/tv/courses/laravel">
صفر تا صد استقرار برنامه‌های Laravel در لیارا
</a>
</p>

<p>در حال حاضر، این نسخه‌ها از Laravel و Lumen در لیارا پشتیبانی می‌شود:</p>

<ul dir="ltr">
Expand Down
63 changes: 63 additions & 0 deletions pages/app-deploy/netcore/email.js
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,69 @@ class Program
کد فوق می‌توانید با SSL به صورت امن از ایمیل تراکنشی استفاده کنید.
</Notice>

<p>
اگر که یک برنامه Net. تحت وب دارید و قصد دارید که در کنترلر مدنظرتان، از
سرویس ایمیل لیارا استفاده کنید؛ کافیست قطعه کد زیر را در کنترلرتان به کار
ببرید.
</p>
<Highlight className="csharp">
{`using MimeKit;
using MailKit.Net.Smtp;
using DotNetEnv; // for install this, run: dotnet install add package DotNetEnv
namespace your_project_name.Controllers; // در اینجا نام پروژه خود را وارد کنید
public class TestController : Controller
{
[HttpPost]
public IActionResult SendEmail(string email)
{
// Email Information
Env.Load();
string senderName = Env.GetString("SENDER_NAME");
string senderEmail = Env.GetString("SENDER_ADDRESS");
string subject = Env.GetString("EMAIL_SUBJECT");
string body = Env.GetString("EMAIL_BODY");
// Email Instance
var message = new MimeMessage();
message.From.Add(new MailboxAddress(senderName, senderEmail));
message.To.Add(new MailboxAddress("Recipient", email));
message.Subject = subject;
// Creating The Body
message.Body = new TextPart("plain")
{
Text = body
};
try
{
// Sending Email
using (var client = new SmtpClient())
{
client.Connect(Env.GetString("MAIL_HOST"), Env.GetInt("MAIL_PORT"), false);
client.Authenticate(Env.GetString("MAIL_USERNAME"), Env.GetString("MAIL_PASSWORD"));
client.Send(message);
client.Disconnect(true);
}
ViewBag.Message = "Email Sent Successfully.";
}
catch (Exception ex)
{
ViewBag.Message = $"Error In Sending Email: {ex.Message}";
}
return RedirectToAction("Index");
}
}
`}
</Highlight>

<p>
برای اطلاعات بیشتر می‌توانید به{" "}
<a
Expand Down
9 changes: 9 additions & 0 deletions pages/app-deploy/netcore/getting-started.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,15 @@ export default () => (
در هر گام، با یک ویژگی هاست ابری NET. لیارا آشنا خواهید شد و می‌توانید از
آن‌ها در برنامه‌ی‌تان استفاده کنید.
</p>
<p>
ما همراه شما هستیم. برای اینکه عملیات استقرار پروژه شما را بیش از پیش،
ساده‌تر کنیم؛ آموزش صفر تا صد استقرار برنامه Net. در لیارا را برای شما
تهیه کرده‌ایم: در این دوره آموزشی، تمامی مراحل لازم برای استقرار و اجرای
یک برنامه، قدم به قدم توضیح داده شده است. برای مشاهده آموزش کلیک کنید:{" "}
<a href="/tv/courses/dotnet">
صفر تا صد استقرار برنامه‌های Net. در لیارا
</a>
</p>

<p>در حال حاضر، این نسخه‌ها از NET. در لیارا پشتیبانی می‌شود:</p>

Expand Down
80 changes: 80 additions & 0 deletions pages/app-deploy/netcore/object-storage.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,9 @@ export default () => (
<li>
<a href="#how-to-use">نحوه‌ی استفاده</a>
</li>
<li>
<a href="#how-to-use-in-controller">نحوه استفاده در کنترلر</a>
</li>
</ul>

<p>
Expand Down Expand Up @@ -268,6 +271,83 @@ class Program
}`}
</Highlight>

<h3 id="how-to-use-in-controller">نحوه‌ی استفاده در کنترلر</h3>
<p>
اگر که یک برنامه Net. تحت وب دارید و قصد دارید که آن را به فضای ذخیره‌سازی
ابری لیارا متصل کنید؛ کافیست که در کنترلر مربوطه، کد زیر را به برنامه
اضافه کنید:
</p>

<Highlight className="csharp">
{`using Amazon.S3;
using Amazon.S3.Model;
using DotNetEnv; // for install, run dotnet add package DotNetEnv
namespace yourprojectname.Controllers; // در اینجا نام پروژه خود را وارد کنید
public class yourController : Controller
{
public async Task<ActionResult> Insert(IFormFile image)
{
// check if image exists or not
if (post.Image != null && post.Image.Length > 0)
{
// loading env variables
Env.Load();
// creating AmazonS3Config instance
var config = new AmazonS3Config
{
ServiceURL = Env.GetString("LIARA_ENDPOINT"),
ForcePathStyle = true,
SignatureVersion = "4"
};
var credentials = new Amazon.Runtime.BasicAWSCredentials(Env.GetString("LIARA_ACCESS_KEY"), Env.GetString("LIARA_SECRET_KEY"));
using var client = new AmazonS3Client(credentials, config);
string objectKey = Guid.NewGuid().ToString() + post.Image.FileName;
try
{
using var memoryStream = new MemoryStream();
await post.Image.CopyToAsync(memoryStream).ConfigureAwait(false);
PutObjectRequest request = new PutObjectRequest
{
BucketName = Env.GetString("LIARA_BUCKET_NAME"),
Key = objectKey,
InputStream = memoryStream,
};
// uploading image in bucket
await client.PutObjectAsync(request);
Console.WriteLine($"File '{objectKey}' uploaded successfully.");
}
catch (AmazonS3Exception e)
{
Console.WriteLine($"Error: {e.Message}");
}
// getting image url
string fileUrl = $"{Env.GetString("LIARA_ENDPOINT")}/{Env.GetString("LIARA_BUCKET_NAME")}/{objectKey}";
post.ImagePath = fileUrl;
}
return RedirectToAction(nameof(Index));
}
}
`}
</Highlight>

<p>
در کد فوق، در کنترلری به نام yourController عملیات آپلود عکس در باکت انجام
می‌شود؛ در نهایت شما می‌توانید لینک دائمی عکس آپلود شده را در متغیری به
نام fileUrl داشته باشید؛ البته در صورتی که سطح دسترسی باکت خود را بر روی
عمومی تنظیم کرده باشید؛ البته کد فوق فقط برای آپلود عکس نیست و می‌توانید
آن را برای هر فایل دلخواه دیگری، تعمیم بدهید.
</p>

<br />

<Link href="/app-deploy/netcore/email" className="next-page">
Expand Down
10 changes: 10 additions & 0 deletions pages/app-deploy/nodejs/getting-started.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,16 @@ export default () => (
از آن‌ها در برنامه‌ی‌تان استفاده کنید.
</p>

<p>
ما همراه شما هستیم. برای اینکه عملیات استقرار پروژه شما را بیش از پیش،
ساده‌تر کنیم؛ آموزش صفر تا صد استقرار برنامه Net. در لیارا را برای شما
تهیه کرده‌ایم: در این دوره آموزشی، تمامی مراحل لازم برای استقرار و اجرای
یک برنامه، قدم به قدم توضیح داده شده است. برای مشاهده آموزش کلیک کنید:{" "}
<a href="/tv/courses/node">
صفر تا صد استقرار برنامه‌های NodeJS در لیارا
</a>
</p>

<p>
در حال حاضر، این نسخه‌ها از NodeJS در هاست ابری NodeJS لیارا پشتیبانی
می‌شود:
Expand Down
4 changes: 2 additions & 2 deletions pages/tv/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -704,9 +704,9 @@ const Videos = () => {
/>

<Section
name={"میان‌افزار RabbitMQ"}
name={"RabbitMQ"}
style={{ marginTop: 40 }}
badge={"rabbitmq middleware"}
badge={"rabbitmq"}
setOpenDialog={setOpenDialog}
links={[
{
Expand Down

0 comments on commit 04d98ff

Please sign in to comment.