Tuesday, February 18, 2020
Full Stack Mini ToDo-App With Javascript, Ajax, API Controller and In-Memory Database (Asp.Net Core Razor Pages)
During the last couple of days, I decided to revisit my basic DOM Javascript skills, and among other things, decided to write some mini-projects to exercise.
The topics touched in this tutorial are:
1. Front-end Javascript for DOM manipulation
2. Fetch API
3. Web Api controller in Asp.Net Core
4. In-Memory database for EF Core
5. Razor pages project
Materials to follow:
1. Main inspiration of the tutorial was Ajax tutorials from Dennis Ivy (front-end is 90% from him) https://www.youtube.com/watch?v=hISSGMafzvU&t=1157s
2. Repo for the app is: https://github.com/zoltanhalasz/TodoApp
3. In-Memory database used here (check my materials with Razor pages or https://exceptionnotfound.net/ef-core-inmemory-asp-net-core-store-database/)
4. Web Api - generated from EF Core CRUD automatically in Visual Studio, from the model
5. Application is live under: https://todolist.zoltanhalasz.net/
Main steps of the app:
1. Create Razor Pages App, without authentication
2. Create Class for ToDO
public class ToDoModel
{
public int id { get; set; }
public string title { get; set; }
public bool completed { get; set; }
}
3. Based on the class, the context is created with a table and included in startup.cs. EntityFrameworkCore has to be installed as nuget package.
public class ToDoContext : DbContext
{
public ToDoContext(DbContextOptions<ToDoContext> options)
: base(options)
{
}
public DbSet<ToDoModel> ToDoTable { get; set; }
}
and in the ConfigureServices method/startup.cs
services.AddDbContext<ToDoContext>(options => options.UseInMemoryDatabase(databaseName: "ToDoDB"));
4. Add a Controller folder, then scaffold Web-api (CRUD with EF Core), can be done based on above class and Context.
5. Front-End, content of index.cshtml file:
Labels:
ajax,
asp.net core,
full-stack,
javascript,
Tutorial
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment