A full-stack blog system with .NET backend and Vue.js frontend.
backend/- .NET 6 Web API with Entity Framework Core, JWT authenticationfrontend/- Vue.js 3 frontend application
- .NET 6 SDK
- Node.js 16+ and npm
- MySQL database
- Redis (optional, for caching)
-
Navigate to
backend/directory:cd backend -
Configure database connection in
backend/Study.Net.MyBlog/appsettings.json:"ConnectionStrings": { "MySql": "Server=localhost;Database=myblog;Uid=root;Pwd=your_password;" }
-
Apply database migrations:
dotnet ef database update --project backend/Study.Net.EFCoreEnvironment
-
Run the backend API:
dotnet run --project backend/Study.Net.MyBlog
The API will be available at
https://localhost:7000
-
Navigate to
frontend/directory:cd frontend -
Install dependencies:
npm install
-
Configure API endpoint in
frontend/src/config.js(if needed):const API_BASE_URL = 'https://localhost:7000/api';
-
Run the development server:
npm run serve
The frontend will be available at
http://localhost:8080
# docker-compose.yml example
version: '3.8'
services:
mysql:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: myblog
volumes:
- mysql_data:/var/lib/mysql
backend:
build: ./backend
depends_on:
- mysql
environment:
ConnectionStrings__MySql: "Server=mysql;Database=myblog;Uid=root;Pwd=password;"
ports:
- "7000:80"
frontend:
build: ./frontend
ports:
- "8080:80"
volumes:
mysql_data:- .NET Backend Documentation: https://pitch-metacarpal-028.notion.site/MyBlog-dd54ee8bd54b44739119b3a9284911ee
- Vue Frontend Documentation: https://pitch-metacarpal-028.notion.site/MyBLog-Vue-68e7f4ccbb4e4fae9901791e0489e417
- User authentication with JWT
- Article management (CRUD)
- Article categorization
- Responsive Vue.js frontend
- RESTful API design
Open source