Logo Lanfrica

ibrahimraimi/yoruba-api

Domain:

natural language processing

Record type:

softwaretools
Creator:
ibr
Host:
A cultural and educational API for the Yoruba language # Yoruba API The Yoruba API is a comprehensive platform for English-Yoruba translations, cultural proverbs, and linguistic services. It leverages modern asynchronous web frameworks and artificial intelligence to provide high-quality language processing capabilities. ## Repository Overview This project is structured as a monorepo to support core services, infrastructure, and future web applications. ### Core Modules - **core/api**: The main FastAPI application providing the RESTful interface. - **core/scripts**: Utility scripts for database management and data generation. ### Infrastructure - **infra/docker**: Containerization configurations for local and production environments. - **infra/k8s**: Kubernetes manifests for high-availability deployments. - **infra/nginx**: Reverse proxy and SSL configurations. ### Documentation Detailed documentation is available in the `web/docs/` directory: - Project Features: Detailed breakdown of capabilities. - Setup Guide: Instructions for local development and run commands. - About the Project: Mission overview and project scope. - AI Implementation: Technical details on the GPT-4o integration. - CI/CD and Docker: Guide to deployment pipelines and containerization. ## Quick Start ### Prerequisites - Python 3.8+ - Docker (optional, for containerized development) ### One-Command Setup The root directory contains a Makefile that orchestrates common tasks. ```bash # Install dependencies make install # Initialize database make db-init # Start server make run ``` The API will be accessible at 127.0.0.1 with interactive documentation at /docs. ## Development and Verification To ensure code quality and system reliability, use the following commands: ```bash # Run test suite make test # Perform linting make lint # Run security checks make security ``` --- _Yoruba API is an open-source initiative dedicated to preserving and empowering the Yoruba language in the digital age._