English | Русский
Blog-Platform is a content publishing platform (articles, photos, videos, audio) with social interactions. The backend is built with ASP.NET and Entity Framework Core, PostgreSQL is used as the database, Redis for caching, and SignalR for real-time communication. The frontend is React + Vite with Tailwind CSS.
- 👥 Users & profiles: registration, authentication, profile settings, privacy controls.
- 📝 Content publishing: create posts with different media types.
- 💬 Comments & messaging: commenting, private chats, real-time notifications.
- ❤️ Reactions: likes for posts and comments.
- 🛡️ Moderation: reports, blocks, appeals.
The project is split into layers:
- Core — domain models and contracts.
- Data — EF Core context and repositories.
- Services — business logic.
- WebAPI — HTTP API, auth, SignalR hubs.
- Frontend — client application.
- Backend: .NET 10, ASP.NET Web API, EF Core, Npgsql, SignalR, Redis.
- Frontend: React, Vite, Tailwind CSS, DaisyUI, React Query.
dotnet restore
dotnet run --project BlogContent.WebAPI/BlogContent.WebAPIMigrations are applied automatically on startup.
cd blogplatform-frontend
npm install
npm run devSettings are read from appsettings.json and/or environment variables.
Required values:
ConnectionStrings:DefaultConnection— PostgreSQL connection string.Jwt:Key,Jwt:Issuer,Jwt:Audience— JWT settings.
Optional (recommended):
Redis:ConnectionString— Redis for cache/sessions.Turnstile:SecretKey— Cloudflare Turnstile secret.Email:*— SMTP/SendGrid credentials.EmailTemplates:*— email templates.EmailVerification:*— email verification policy.MediaStorage:*— upload limits and mime types.Cors:AllowedOrigins— frontend domains.
⚠️ Do not commit real secrets. Use environment variables for production.

