Skip to content

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SegFault

logo

A modern Q&A platform built with ASP.NET Core 8.0, inspired by Stack Overflow. SegFault allows users to ask questions, provide answers, and engage with the developer community through voting and categorization.

Team members

Features

  • User Authentication & Authorization: Complete user registration, login, and profile management with ASP.NET Core Identity
  • Question & Answer System: Users can post questions, provide answers, and engage in discussions
  • Voting System: Upvote/downvote questions and answers to highlight quality content
  • Category Management: Organize questions by categories for better discoverability
  • User Profiles: View user activity, questions, and answers
  • Rich Text Editing: Enhanced content creation with Summernote editor
  • Responsive Design: Mobile-friendly interface built with Bootstrap

Technology Stack

  • Framework: ASP.NET Core 8.0 (MVC)
  • Database: SQL Server with Entity Framework Core
  • Authentication: ASP.NET Core Identity
  • Frontend: Bootstrap 5, jQuery, Summernote
  • Security: HTML Sanitization for user content

Project Structure

SegFault/
├── Controllers/         # MVC Controllers (Questions, Answers, Categories, Users)
├── Models/             # Data models (Question, Answer, Category, ApplicationUser)
├── Views/              # Razor views and layouts
├── Data/               # Entity Framework DbContext
├── Areas/Identity/     # Identity UI pages (Login, Register, etc.)
├── Migrations/         # Database migrations
├── wwwroot/           # Static files (CSS, JS, images)
└── Utils/             # Utility classes

Images

main categories questions answers profile

Getting Started

Prerequisites

  • .NET 8.0 SDK
  • SQL Server (LocalDB or full instance)
  • Visual Studio 2022 or VS Code

Installation

  1. Clone the repository
  2. Navigate to the SegFault directory
  3. Update the connection string in appsettings.json
  4. Run database migrations:
    dotnet ef database update
  5. Start the application:
    dotnet run

The application will be available at https://localhost:5001 (or the port specified in launchSettings.json).

Key Models

  • Question: Represents a user question with title, content, and associated answers
  • Answer: Responses to questions with voting capabilities
  • Category: Topic classification for questions
  • ApplicationUser: Extended Identity user with additional properties
  • Post: Base class for questions and answers with common properties (content, score, timestamps)

About

University C# ASP .NET MVC colllaborative project

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages