The Fake News Filter - Server project is designed to handle the reading, authentication, and logging functionalities related to news articles. The primary focus is on fetching and processing news, allowing users to comment, and ensuring secure authentication.
- Reading News: Fetch and display news articles from various sources.
- Comment System: Enable users to comment on news articles.
- Authentication: Secure user authentication to protect user data and interactions.
- Logging: Implement comprehensive logging for monitoring and debugging purposes.
The project follows a modular architecture consisting of the following components:
- Applications: Core logic and functionality.
- Data: Data storage and retrieval, integrating with SQL Server.
- Utilities: Common utilities and helper classes.
- ViewModel: Structures to represent data for efficient presentation.
- .NET 6.0: The project is developed using the latest .NET framework for modern and efficient development.
- SQL Server: Database management for storing and retrieving data.
- Quartz: Job scheduling for periodic tasks.
- Docker: Containerization for easy deployment and scalability.
The project is divided into three main components:
- API: Handles the backend logic and provides an interface for client applications.
-
User App (MVC): Web application for end-users to interact with news articles, comments, and other features.
-
API App (MVC): Web application specifically for API interactions, providing a developer-friendly interface.
- .NET 6.0 SDK
- Docker
- Clone the repository:
git clone https://github.com/your-username/fake-news-filter-server.git
cd fake-news-filter-server
- Build and run Docker containers:
docker-compose up --build
-
Access the applications:
- API: http://localhost:2000
- User App (MVC): http://localhost:2001
- API App (MVC): http://localhost:2002
-
Import the collections (Optional):
Assert/fakenewsfilter.collection.json
-
Import full data, open sqlserver import bak(Optional):
Assert/owltrust.bak
-
Run in local mode(Optional):
cd FakeNewsFilter.API
dotnet run
- Open new terminal:
cd FakeNewsFilter.UserApp
dotnet run
- Update configuration files in each application folder for specific settings such as database connection strings, authentication keys, etc.