Platform for AICTO (Arab ICT Organization)
A comprehensive platform for cataloging, managing, and showcasing AI initiatives across the Arab region.
SARAI is a regional AI repository platform that serves as a centralized hub for:
- π€ AI Projects and Initiatives
- π’ Stakeholder Organizations
- π AI Analytics and Statistics
- πΊοΈ Interactive Knowledge Mapping
- π Resource Library
- Refactored to normalized schema (18 tables)
- Created 11 new models + improved 6 existing
- Implemented proper relationships and constraints
- Added reference data (sectors, SDGs, technologies)
- Created scripts to remove fake/test data
- Prepared 12 REAL Arab AI projects
- Ready for execution
- API testing
- Frontend display
- Filters and search
- Responsive design
- Python 3.8+
- PostgreSQL 12+
- Node.js 16+ (for frontend)
# Create database
createdb SARAI_DB
# Configure .env
cd backend
cp .env.example .env
# Edit .env with your database credentialscd backend
python migrations/001_create_new_schema.py
python migrations/002_migrate_existing_data.py# This will remove fake data and add 12 real Arab AI projects
python run_data_cleanup.pyuvicorn app:app --reload
# API: http://localhost:8000
# Docs: http://localhost:8000/docscd ../frontend
npm install
npm run dev
# Frontend: http://localhost:3000The platform includes 12 real Arab AI projects from:
- πͺπ¬ Egypt - NLP Platform, Manufacturing Robotics
- π²π¦ Morocco - Medical Diagnosis, Generative AI
- π―π΄ Jordan - Smart Agriculture
- πΈπ¦ Saudi Arabia - Climate Research
- πΆπ¦ Qatar - Speech Recognition
- π¦πͺ UAE - Smart City Platform
- πΉπ³ Tunisia - E-Learning Engine
- π±π§ Lebanon - Healthcare Analytics
- π§π Bahrain - Financial AI
- π΄π² Oman - Explainable AI
Expandable to 20+ projects with add_more_projects.py
Stage-PFE-AICTO/
βββ backend/
β βββ app/
β β βββ models/ # 17 database models
β β βββ routers/ # API endpoints
β β βββ schemas/ # Pydantic schemas
β β βββ services/ # Business logic
β β βββ database/ # DB connection
β βββ migrations/ # Database migrations
β βββ run_data_cleanup.py # β Main cleanup script
β βββ verify_database_state.py
β βββ test_api_endpoints.py
β βββ README_SCRIPTS.md # Scripts documentation
βββ frontend/ # React frontend
βββ docs/ # Documentation
β βββ DATABASE_SCHEMA.md
β βββ API_ENDPOINTS.md
β βββ MIGRATION_GUIDE.md
βββ NEXT_STEPS.md # π― What to do next
βββ WORK_SUMMARY.md # π Complete work summary
βββ README.md # This file
- NEXT_STEPS.md - π― Start here! Step-by-step guide
- DATA_CLEANUP_GUIDE.md - Data cleanup instructions
- README_SCRIPTS.md - All scripts explained
- DATABASE_SCHEMA.md - Complete schema documentation
- API_ENDPOINTS.md - API reference
- MIGRATION_GUIDE.md - Migration instructions
- ARCHITECT_REPORT.md - Architecture decisions
- CURRENT_STATUS.md - Current project status
- WORK_SUMMARY.md - Complete work summary
- REFACTORING_SUMMARY.md - Refactoring details
# Test database connection
python backend/test_connection.py
# Verify current state
python backend/verify_database_state.py
# Clean and populate with real data β
python backend/run_data_cleanup.py
# Add 8 more projects (optional)
python backend/add_more_projects.py
# Test API endpoints
python backend/test_api_endpoints.pySee README_SCRIPTS.md for complete documentation.
- users - Platform users (admin, contributors)
- projects - AI projects/initiatives
- organizations - Stakeholder organizations
- countries - Arab countries
- sectors - Industry sectors
- sdgs - UN Sustainable Development Goals
- ai_technologies - AI technology categories
- project_sdgs - Projects β SDGs
- project_technologies - Projects β Technologies
- project_tags - Projects β Tags
- documents - Project documents
- images - Project images
- comments - Project comments
- approvals - Approval workflow
- notifications - User notifications
Total: 18 tables with proper relationships
- FastAPI - Modern Python web framework
- PostgreSQL - Relational database
- SQLAlchemy - ORM
- Pydantic - Data validation
- Uvicorn - ASGI server
- React - UI framework
- Vite - Build tool
- Axios - HTTP client
- React Router - Routing
- Git - Version control
- Python - Scripting and automation
- β Normalized database schema
- β 12 real Arab AI projects
- β Organization management
- β Project categorization (sectors, SDGs, technologies)
- β RESTful API
- β API documentation (Swagger)
- β Data validation
- β Automated data cleanup
- π Project approval workflow
- π User authentication & authorization
- π Advanced search and filters
- π Analytics dashboard
- π Interactive map visualization
- π Document management
- π Image galleries
- π Comment system
- π Notification system
-
Execute Data Cleanup
cd backend python run_data_cleanup.py -
Start Backend Server
uvicorn app:app --reload
-
Test API
- Open: http://localhost:8000/docs
- Try: GET /api/projects
-
Verify Frontend
cd frontend npm run dev
See NEXT_STEPS.md for detailed instructions.
- Edit
backend/add_more_projects.py - Add project data to
additional_projectslist - Run:
python add_more_projects.py
- Modify models in
backend/app/models/ - Create migration script in
backend/migrations/ - Run migration
- Update documentation
Connection fails
- Check PostgreSQL is running
- Verify credentials in
.env - Ensure database
SARAI_DBexists
Tables missing
- Run migrations:
001_create_new_schema.pyand002_migrate_existing_data.py
Reference data missing
- Run:
python migrations/001_create_new_schema.py(seeds data)
No admin user
- Run:
python backend/ensure_admin_user.py
- Check NEXT_STEPS.md for guidance
- See README_SCRIPTS.md for script help
- Review DATABASE_SCHEMA.md for schema info
This project is developed for AICTO (Arab ICT Organization).
- Client: AICTO - Arab ICT Organization
- Developer: Fatma
- AI Assistant: Kiro
- Project: SARAI Platform
Special thanks to:
- AICTO for the project vision
- Arab AI research community
- All organizations featured in the platform
Status: β
Ready for data cleanup and deployment
Version: 2.0
Last Updated: 7 Mai 2026
cd backend
python run_data_cleanup.pyThen check NEXT_STEPS.md for what to do next!