https://github.com/chamal1120/unixphile-learn
Road to no-nonsense, Secure and Open Source LMS
https://github.com/chamal1120/unixphile-learn
blazor csharp dotnet dotnet-core ef-core tailwindcss
Last synced: about 2 months ago
JSON representation
Road to no-nonsense, Secure and Open Source LMS
- Host: GitHub
- URL: https://github.com/chamal1120/unixphile-learn
- Owner: Chamal1120
- License: mit
- Created: 2025-10-17T14:01:09.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-11-01T03:41:52.000Z (8 months ago)
- Last Synced: 2025-11-01T05:26:38.820Z (8 months ago)
- Topics: blazor, csharp, dotnet, dotnet-core, ef-core, tailwindcss
- Language: C#
- Homepage:
- Size: 810 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Unixphile Learn
A lightweight Learning Management System (LMS). The goal is to make it usable on low end hardware, modular, secure and a maintainable 100% csharp codebase.
> [!WARNING]
> This application is currently in early development.
- A preview deployed on Azure App Services + Azure SQL can be viewed from [this link](https://unixphile-learn-cne3hjbbb7bnbwdg.canadacentral-01.azurewebsites.net) (uses F1 tier for now, so be patient).
- Check [TODO](/TODO.md) for progress.
## Stack
- **Blazor Server with Minimal APIs**
- **EF Core**
- **Microsoft SQL Server**
- **Auth0**
- **TailwindCSS with daisyUI**
## Getting Started
### Prerequisites
- [.NET 9.0 SDK](https://dotnet.microsoft.com/download)
- Microsoft SQL Server
- sqlcmd or SQL Server Management Studio (optional, for database inspection)
- Dotnet ef CLI (use `dotnet tool install --global dotnet-ef`)
- Node and npm (only for TailwindCSS generation)
### Installation
1. Clone the repository:
```bash
git clone https://github.com/Chamal1120/unixphile-learn.git
```
2. Navigate to the project directory:
```bash
cd unixphile-learn
```
3. Restore dependencies:
```bash
dotnet restore && npm ci
```
4. Set up the database:
- Ensure your SQL Server instance is running and accessible.
- Update the connection string in `appsettings.Development.json` to point to your SQL Server instance.
- Apply migrations to create the database schema:
```bash
dotnet ef database update
```
### Running the Application
1. Build the project:
```bash
dotnet build
```
2. Run the application with hot reloading:
```bash
dotnet watch
```
3. Update TailwindCSS along with hot reloading (run in a seperate terminal):
```bash
npm run dev watch:css
```
3. Navigate to the URL displayed in the terminal.
## Deployment
Refer [deployment guide](./deployment-guide.md).
## License
Refer [MIT License](/LICENSE).