Skip to content

Alejoss/Sophia.AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

531 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Sophia.AI Academia Blockchain

A decentralized, blockchain-backed educational platform that uses AI to interact with and certify documents. The platform enables users to create, share, and manage educational content with blockchain-based certification and verification.

🌟 Features

  • Content Management: Create and organize educational content (videos, audio, text, images)
  • Knowledge Paths: Structured learning paths with quizzes and assessments
  • Blockchain Certification: Document certification and verification using smart contracts
  • User Profiles: Comprehensive user profiles with cryptocurrency preferences
  • Social Features: Comments, votes, bookmarks, and messaging
  • Events: Create and manage educational events
  • Publications: Share research and academic publications
  • Search: Advanced content search functionality
  • Google OAuth: Social authentication support

πŸ—οΈ Architecture

The platform consists of three main components:

  1. Backend (Django REST Framework): RESTful API server with PostgreSQL database
  2. Frontend (React + Vite): Modern single-page application with Material-UI and Tailwind CSS
  3. Smart Contracts (Solidity): Ethereum/Polygon smart contracts for blockchain functionality

πŸš€ Quick Start

Prerequisites

  • Docker and Docker Compose
  • Git
  • (Optional) Node.js and Python 3.12+ for local development

Installation

  1. Clone the repository:
git clone <repository-url>
cd Sophia.AI-Academia-Blockchain
  1. Create environment files:
# Backend environment
cp acbc_app/.env.example acbc_app/.env
# Edit acbc_app/.env with your configuration

# Frontend environment
cp frontend/.env.example frontend/.env
# Edit frontend/.env with your configuration
  1. Start the services:
docker-compose up --build
  1. Run database migrations:
docker-compose exec backend python manage.py migrate
  1. Access the application:

For detailed setup instructions, see Setup.md or docs/deployment/local-development.md.

πŸ“š Documentation

Comprehensive documentation is available in the docs/ directory:

  • Architecture - System design, data models, and blockchain integration
  • API Documentation - Complete API reference, authentication, and examples
  • Deployment - Local development, production deployment, and Docker configuration
  • Development Guides - Backend, frontend, and smart contract development
  • Testing - Testing strategy and patterns
  • Security - Security practices and best practices

πŸ› οΈ Tech Stack

Backend

  • Framework: Django 5.0
  • API: Django REST Framework
  • Authentication: JWT (Simple JWT), django-allauth
  • Database: PostgreSQL 15
  • Blockchain: Web3.py, Chainlink Functions
  • Documentation: drf-yasg (Swagger/OpenAPI)

Frontend

  • Framework: React 18
  • Build Tool: Vite 5
  • UI Libraries: Material-UI 6, Tailwind CSS 4
  • Routing: React Router 6
  • HTTP Client: Axios
  • Forms: React Hook Form, Yup

Smart Contracts

  • Language: Solidity 0.8.24
  • Framework: Hardhat
  • Libraries: OpenZeppelin, Chainlink Contracts
  • Networks: Polygon (Mainnet/Testnet), Hardhat (Local)

πŸ“ Project Structure

Sophia.AI-Academia-Blockchain/
β”œβ”€β”€ acbc_app/              # Django backend application
β”‚   β”œβ”€β”€ academia_blockchain/  # Main Django project
β”‚   β”œβ”€β”€ profiles/          # User profiles app
β”‚   β”œβ”€β”€ content/           # Content management app
β”‚   β”œβ”€β”€ certificates/     # Certificate management
β”‚   β”œβ”€β”€ events/            # Events app
β”‚   β”œβ”€β”€ knowledge_paths/   # Learning paths
β”‚   β”œβ”€β”€ quizzes/           # Quiz system
β”‚   └── ...                # Other Django apps
β”œβ”€β”€ frontend/              # React frontend application
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ api/           # API client functions
β”‚   β”‚   β”œβ”€β”€ components/    # Reusable components
β”‚   β”‚   β”œβ”€β”€ profiles/      # Profile pages
β”‚   β”‚   β”œβ”€β”€ content/       # Content pages
β”‚   β”‚   └── ...            # Other features
β”œβ”€β”€ contracts/             # Smart contracts
β”‚   β”œβ”€β”€ contracts/         # Solidity contracts
β”‚   β”œβ”€β”€ scripts/           # Deployment scripts
β”‚   └── tasks/             # Hardhat tasks
β”œβ”€β”€ docs/                  # Documentation
└── docker-compose.yml     # Docker orchestration

πŸ”§ Development

Running Tests

# Backend tests
docker-compose exec backend python manage.py test -v 2

# Or with pytest
docker-compose exec backend pytest

# Specific app tests
docker-compose exec backend python manage.py test profiles -v 2

Database Management

# Create migrations
docker-compose exec backend python manage.py makemigrations

# Apply migrations
docker-compose exec backend python manage.py migrate

# Create superuser
docker-compose exec backend python manage.py create_admin

# Populate test data
docker-compose exec backend python manage.py populate_users
docker-compose exec backend python manage.py populate_content

Frontend Development

# Install dependencies
cd frontend
npm install

# Run development server
npm run dev

# Build for production
npm run build

🀝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines on:

  • Code style and standards
  • Pull request process
  • Issue reporting
  • Development workflow

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ”— Links

πŸ“§ Contact

For questions or support, please contact: academiablockchain@gmail.com

πŸ—ΊοΈ Roadmap

  • Enhanced blockchain integration
  • Improved AI document processing
  • Mobile application
  • Advanced analytics and reporting

Note: This is an active development project. For the latest updates, check the CHANGELOG.md.

About

A descentralized, blockchain-backed library that uses AI to interact with and to certify documents.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors