MissouriMRDT / Basestation_Software_Blazor

A complete rewrite of Basestation_Software into a Blazor interactive webapp. Complete with a SQLite database for storing data and an API to interface with it.
GNU General Public License v3.0
3 stars 0 forks source link

Basestation Software

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:

Project Structure

Basestation_Software.Api

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.

For more info about the API, view the README.md in the Basestation_Software.Api folder.

Basestation_Software.Models

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.

Basestation_Software.Web

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: Server vs. Client-Side Rendering

Blazor allows you to build rich web applications using C# and .NET. It supports two modes of rendering:

Blazor Server

In Blazor Server, the application runs on the server. UI updates, event handling, and JavaScript calls are handled over a SignalR connection.

Blazor WebAssembly (WASM)

In Blazor WASM, the application runs in the browser using WebAssembly. The entire application, including the .NET runtime, is downloaded to the client.

3rd Party Libraries

Getting Started

Prerequisites

Setting Up the Project

  1. Clone the repository:

    git clone https://github.com/MissouriMRDT/Basestation_Software_Blazor.git
    cd Basestation_Software_Blazor
  2. Install Git LFS (if not already installed) and pull LFS files:

    git lfs install
    git lfs pull
  3. Open the workspace.

  4. Open in the Devcontainer.

Running Basestation_Software

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.

Contributing

Contributions are welcome! Please submit a pull request or open an issue to discuss any changes or improvements.