https://github.com/youssofkhawaja/myportfolio-blazor
Blazor Portfolio
https://github.com/youssofkhawaja/myportfolio-blazor
chsarp mudblazor personal-website portfolio portfolio-website
Last synced: about 1 year ago
JSON representation
Blazor Portfolio
- Host: GitHub
- URL: https://github.com/youssofkhawaja/myportfolio-blazor
- Owner: YoussofKhawaja
- License: mit
- Created: 2024-07-31T10:59:19.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-04T08:14:21.000Z (almost 2 years ago)
- Last Synced: 2025-02-12T10:54:14.053Z (over 1 year ago)
- Topics: chsarp, mudblazor, personal-website, portfolio, portfolio-website
- Language: HTML
- Homepage:
- Size: 1.02 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Blazor Portfolio Project
This is an interactive Blazor application built with the MudBlazor framework. The application uses ASP.NET Web API to fetch project data and send contact emails. **(Not going to update this portfolio anymore since i migrated my portfolio to react as frontend)**
# Preview

## Features
- Interactive Blazor client application
- Utilizes MudBlazor for UI components
- ASP.NET Web API for backend services
- PostgreSQL database integration
- Two web API endpoints:
- `/api/Mail` for sending emails
- `/api/Project` for fetching project data
## Project Structure
```plaintext
YoussofPortfolio/
├── Client/
│ └── [Blazor Client Project Files]
├── Server/
│ └── [Blazor Server Project Files]
YoussofPortfolio.API/
│ ├── Controllers/
```
## Prerequisites
- NET 8.0 SDK
- PostgreSQL database
## Getting Started
1. Clone the repository
```sh
git clone https://github.com/youssofkhawaja/MyPortfolio-Blazor.git
cd MyPortfolio-Blazor
```
2. Configure the database connection in `appsettings.json`
3. Build and run the project:
```sh
dotnet build
dotnet run
```
## Configuring appsettings.json
#### To connect to your PostgreSQL database, update the appsettings.json file in the Server project with your database connection string
```json
{
"Serilog": {
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft.AspNetCore.Mvc": "Warning",
"Microsoft.AspNetCore.Routing": "Warning",
"Microsoft.AspNetCore.Hosting": "Warning"
}
}
},
"ConnectionStrings": {
"DefaultConnection": "Server=db;Port=5432;User Id=userid;Password=pwd;Database=youssofportfoliodb;"
},
"AppSettings": {
"Secret": ""
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*"
}
```
## Configuring mail
- Edit YoussofPortfolio.API/Services/MailService.cs
- Replace email with your email and pwd with your password
## API Endpoints
- Mail API: `/api/Mail/SendMail`
- Endpoint for sending contact emails.
- Expects a JSON payload with email details.
- Project API: `/api/Project`
- ndpoint for fetching project data.
- Returns a list of projects from the database.
## Contributing
Contributions are welcome! Please fork the repository and submit a pull request.
## License
Distributed under the MIT License. See `LICENSE` for more information.