Basestation Software is a multi-tier application designed to manage and interact with a SQLite database using a REST API, a class library for object models, and a Blazor web application for the frontend. The project is structured into three main components:
Basestation_Software.Api
: REST API for reading and writing data to a SQLite database.Basestation_Software.Models
: A class library for storing all project object models.Basestation_Software.Web
: The frontend Blazor web application.This project contains the REST API built using ASP.NET Core. It provides endpoints for CRUD (Create, Read, Update, Delete) operations on the SQLite database.
dotnet ef migrations add InitialDB
: Adds a new migration to create the initial database schema.dotnet ef database update
: Applies pending migrations to the database.For more info about the API, view the README.md in the Basestation_Software.Api folder.
This project is a class library that contains all the object models used throughout the application. These models represent the entities in the database and are shared across the API and web application.
This project is the frontend web application built using Blazor. Blazor is a framework for building interactive web UIs with C# instead of JavaScript. It comes in two flavors: Blazor Server and Blazor WebAssembly (WASM).
Blazor allows you to build rich web applications using C# and .NET. It supports two modes of rendering:
In Blazor Server, the application runs on the server. UI updates, event handling, and JavaScript calls are handled over a SignalR connection.
Advantages:
Disadvantages:
In Blazor WASM, the application runs in the browser using WebAssembly. The entire application, including the .NET runtime, is downloaded to the client.
Advantages:
Disadvantages:
Clone the repository:
git clone https://github.com/MissouriMRDT/Basestation_Software_Blazor.git
cd Basestation_Software_Blazor
Install Git LFS (if not already installed) and pull LFS files:
git lfs install
git lfs pull
Open the workspace.
Open in the Devcontainer.
1) Once the devcontainer is open, navigate to the debug tool in the sidebar of VSCode. 2) Click on the dropdown and select API, then click run. 2) Click on the dropdown and select WEB, then click run.
The wabapp will be automatically opened in a browser window.
The application will start and be accessible at http://localhost:8080
.
The API also hosts Swagger for easier development. It can be found at http://localhost:5000/swagger/index.html
.
Contributions are welcome! Please submit a pull request or open an issue to discuss any changes or improvements.