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.
- 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
The platform consists of three main components:
- Backend (Django REST Framework): RESTful API server with PostgreSQL database
- Frontend (React + Vite): Modern single-page application with Material-UI and Tailwind CSS
- Smart Contracts (Solidity): Ethereum/Polygon smart contracts for blockchain functionality
- Docker and Docker Compose
- Git
- (Optional) Node.js and Python 3.12+ for local development
- Clone the repository:
git clone <repository-url>
cd Sophia.AI-Academia-Blockchain- 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- Start the services:
docker-compose up --build- Run database migrations:
docker-compose exec backend python manage.py migrate- Access the application:
- Frontend: http://localhost:5173
- Backend API: http://localhost:8000
- API Documentation: http://localhost:8000/swagger/
- Django Admin: http://localhost:8000/admin
For detailed setup instructions, see Setup.md or docs/deployment/local-development.md.
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
- 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)
- 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
- Language: Solidity 0.8.24
- Framework: Hardhat
- Libraries: OpenZeppelin, Chainlink Contracts
- Networks: Polygon (Mainnet/Testnet), Hardhat (Local)
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
# 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# 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# Install dependencies
cd frontend
npm install
# Run development server
npm run dev
# Build for production
npm run buildWe welcome contributions! Please see CONTRIBUTING.md for guidelines on:
- Code style and standards
- Pull request process
- Issue reporting
- Development workflow
This project is licensed under the MIT License - see the LICENSE file for details.
- Test Server: https://sophia-ai.algobeat.com/
- API Server: https://sophia-ai-api.algobeat.com/
- API Documentation: http://localhost:8000/swagger/ (when running locally)
For questions or support, please contact: academiablockchain@gmail.com
- 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.