Veritas

A smart and scalable platform for detecting fake news using machine learning and blockchain.


About the Project

Veritas is a Misinformation Detection Application created using Django, Machine Learning, and Blockchain to verify the authenticity of online content. The project was developed as part of a University Group Project.

Key Features:

  • Fake News Detection – Uses a trained machine learning model (Logistic Regression) to classify news as real or fake.
  • User Authentication – Secure login and registration using Google OAuth.
  • Blockchain Logging – Hashes and stores classification results in a blockchain for verification.
  • Scalable Deployment – Multi-container setup using Docker Compose with PostgreSQL, Gunicorn, and Nginx.


My Contributions

Deployment and Scalability

I built the Docker-based infrastructure for development and deployment. This included:

  • Creating a multi-service setup using Docker Compose.
  • Configuring Gunicorn as the production-ready WSGI server to run Django.
  • Integrating Nginx to route HTTP/HTTPS traffic and serve static content efficiently.
  • Connecting and managing a PostgreSQL container as the main database backend.

Docker Compose defined and ran isolated containers for each service, ensuring consistency across environments. PostgreSQL stored user data. Gunicorn served the Django backend with multiple workers to handle concurrent requests. Nginx acted as a reverse proxy, routing traffic to Gunicorn, handling SSL, and serving static files. Together, these tools formed a reliable, secure, and scalable deployment architecture.


User Authentication

I was also responsible for implementing secure user authentication, integrating the Google OAuth Api to allow access to our tool only if you have a valid Google account.


Django Icon
Docker Icon
Nginx Icon
PostgreSQL Icon
Python Icon
Git Icon