{"id":51649615,"url":"https://github.com/yenklabs/j4all-core-platform","last_synced_at":"2026-07-14T02:32:11.985Z","repository":{"id":300477535,"uuid":"1005167817","full_name":"yenklabs/j4all-core-platform","owner":"yenklabs","description":"J4All Core Platform served as foundational infrastructure for broader application and workflow orchestration across the J4All ecosystem. The project focused on reusable backend architecture, shared platform services, API orchestration, and scalable integration patterns.","archived":false,"fork":false,"pushed_at":"2025-08-21T09:27:32.000Z","size":34493,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-04T21:50:22.218Z","etag":null,"topics":["agentic-workflow","api-orchestration","backend-infrastructure","cloud-architecture","distributed-systems","legal-tech","multi-agent-systems","platform-engineering","workflow-automation"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yenklabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-19T19:30:42.000Z","updated_at":"2026-05-28T13:09:58.000Z","dependencies_parsed_at":"2025-08-21T11:27:29.097Z","dependency_job_id":"43ec16a9-ac68-465b-a94d-9728b227b57e","html_url":"https://github.com/yenklabs/j4all-core-platform","commit_stats":null,"previous_names":["yenk/j4all-core-platform","yenklabs/j4all-core-platform"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/yenklabs/j4all-core-platform","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yenklabs%2Fj4all-core-platform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yenklabs%2Fj4all-core-platform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yenklabs%2Fj4all-core-platform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yenklabs%2Fj4all-core-platform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yenklabs","download_url":"https://codeload.github.com/yenklabs/j4all-core-platform/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yenklabs%2Fj4all-core-platform/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35443979,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-14T02:00:06.603Z","response_time":114,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agentic-workflow","api-orchestration","backend-infrastructure","cloud-architecture","distributed-systems","legal-tech","multi-agent-systems","platform-engineering","workflow-automation"],"created_at":"2026-07-14T02:32:11.414Z","updated_at":"2026-07-14T02:32:11.980Z","avatar_url":"https://github.com/yenklabs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\ntitle: LumiLens\napp_file: prompt.py\nsdk: gradio\nsdk_version: 5.23.1\n---\n\n# LumiLens - Justice for All AI Assistant\n\nLumiLens is an AI-powered legal assistant prototype for [Justice for All](https://j4all.org), designed to make justice accessible to everyone by leveraging open-source legal data and advanced natural language processing.\n\n**🚧 Important Update**: We are transitioning from Gradio to **Streamlit** as our core prototype framework for the MVP. This change will provide better performance, more customization options, and improved user experience for our legal assistant application.\n\n## 🚀 Features\n\n- **Legal Document Analysis**: Processes and analyzes legal documents including contracts, case law, and appellate matters\n- **RAG-Powered Q\u0026A**: Retrieval-Augmented Generation for accurate legal question answering\n- **Interactive Chat Interface**: User-friendly Streamlit-based chat interface (transitioning from Gradio)\n- **Vector Database**: Efficient document storage and retrieval using ChromaDB\n- **OpenAI Integration**: Leverages GPT-4o-mini for intelligent legal assistance\n\n## 🛠️ Tech Stack\n\n### Core Technologies\n- **[ChromaDB](https://www.trychroma.com/)** - Open-source vector database for document storage and similarity search\n- **[LangChain](https://www.langchain.com/)** - Framework for building LLM-powered applications with RAG capabilities\n- **[OpenAI GPT-4o-mini](https://openai.com/)** - Large language model for text generation and understanding\n- **[OpenAI Text Embeddings](https://openai.com/)** - Text embedding model for semantic search\n\n### Web Interface \u0026 Deployment\n- **[Streamlit](https://streamlit.io/)** - Modern web framework for data applications (replacing Gradio)\n- **[GitHub Actions](https://github.com/features/actions)** - CI/CD pipeline for automated deployment\n- **[Streamlit Cloud](https://streamlit.io/cloud)** - Hosting platform for Streamlit applications\n\n### Data Processing\n- **[PyPDF](https://pypdf.readthedocs.io/)** - PDF document processing and text extraction\n- **[BeautifulSoup4](https://www.crummy.com/software/BeautifulSoup/)** - HTML/XML parsing\n- **[TikToken](https://github.com/openai/tiktoken)** - Token counting for OpenAI models\n\n## 📋 Prerequisites\n\n- Python 3.12+\n- OpenAI API key\n- Git\n\n## 🚀 Quick Start\n\n### 1. Clone the Repository\n```bash\ngit clone \u003crepository-url\u003e\ncd j4all-core-platform\n```\n\n### 2. Install Dependencies\n\n**Option A: Using Poetry (Recommended)**\n```bash\n# Install Poetry if you haven't already\ncurl -sSL https://install.python-poetry.org | python3 -\n\n# Install dependencies\npoetry install\n```\n\n**Option B: Using pip**\n```bash\npip install -r requirements.txt\n```\n\n### 3. Environment Setup\n\nCreate a `.env` file in the root directory:\n```bash\ncp .env.example .env  # if .env.example exists\n```\n\nAdd your OpenAI API key:\n```env\nOPENAI_API_KEY=your_openai_api_key_here\n```\n\n### 4. Data Ingestion\n\nRun the ingestion script to process legal documents and create the vector database:\n```bash\n# Using Poetry\npoetry run python pipeline/ingest.py\n\n# Using pip\npython pipeline/ingest.py\n```\n\nThis will:\n- Load PDF documents from the `data/` directory\n- Split documents into chunks\n- Generate embeddings using OpenAI\n- Store vectors in ChromaDB\n\n### 5. Launch the Application\n\n**Current (Gradio):**\n```bash\n# Using Poetry\npoetry run python prompt.py\n\n# Using pip\npython prompt.py\n```\n\n**Upcoming (Streamlit):**\n```bash\n# Using Poetry\npoetry run streamlit run app.py\n\n# Using pip\nstreamlit run app.py\n```\n\nThe application will be available at `http://localhost:8501` (Streamlit) or `http://localhost:7860` (current Gradio).\n\n## 📁 Project Structure\n\n```\nj4all-core-platform/\n├── data/                   # Legal documents (PDFs) organized by year\n│   ├── 2021/\n│   ├── 2022/\n│   ├── 2023/\n│   ├── 2024/\n│   └── 2025/\n├── pipeline/              # Data processing pipeline\n│   ├── __init__.py\n│   ├── ingest.py         # Document ingestion and vectorization\n│   └── load.py           # Data loading utilities\n├── chroma_db/            # Vector database (auto-generated)\n├── prompt.py             # Current Gradio application\n├── app.py                # Upcoming Streamlit application\n├── pyproject.toml        # Poetry dependencies\n├── requirements.txt      # pip dependencies\n└── README.md\n```\n\n## 🔧 Development\n\n### Local Development Setup\n\n1. **Fork and clone** the repository\n2. **Create a virtual environment**:\n   ```bash\n   python -m venv venv\n   source venv/bin/activate  # On Windows: venv\\Scripts\\activate\n   ```\n3. **Install development dependencies**:\n   ```bash\n   pip install -r requirements.txt\n   ```\n4. **Set up environment variables** (see Quick Start section)\n5. **Run the ingestion pipeline** to populate the vector database\n6. **Start the development server**:\n   ```bash\n   # Current Gradio version\n   python prompt.py\n   \n   # Upcoming Streamlit version\n   streamlit run app.py\n   ```\n\n### Code Style\n\n- Follow PEP 8 guidelines\n- Use type hints where appropriate\n- Add docstrings to functions and classes\n- Keep functions focused and single-purpose\n\n### Testing\n\n```bash\n# Run tests (when implemented)\npython -m pytest\n\n# Run linting\nflake8 .\n```\n\n## 🤝 Contributing\n\nWe welcome contributions! Here's how you can help:\n\n### 1. Fork the Repository\nCreate your own fork of the project on GitHub.\n\n### 2. Create a Feature Branch\n```bash\ngit checkout -b feature/your-feature-name\n```\n\n### 3. Make Your Changes\n- Add new features or fix bugs\n- Update documentation as needed\n- Ensure code follows project standards\n\n### 4. Test Your Changes\n- Run the ingestion pipeline with your changes\n- Test the application locally\n- Ensure all functionality works as expected\n\n### 5. Submit a Pull Request\n- Provide a clear description of your changes\n- Include any relevant issue numbers\n- Request review from maintainers\n\n### Areas for Contribution\n- **Streamlit Migration**: Help transition from Gradio to Streamlit\n- **Document Processing**: Improve PDF parsing and text extraction\n- **RAG Pipeline**: Enhance retrieval and generation capabilities\n- **UI/UX**: Improve the Streamlit interface and user experience\n- **Performance**: Optimize vector search and response times\n- **Documentation**: Expand guides and examples\n\n## 🚀 Deployment\n\n### Streamlit Cloud Deployment\n\nThe project will be deployed using Streamlit Cloud for the MVP.\n\n1. **Fork the repository** to your GitHub account\n2. **Set up Streamlit Cloud**:\n   - Go to [Streamlit Cloud](https://streamlit.io/cloud)\n   - Connect your GitHub account\n   - Deploy the repository\n3. **Configure environment variables** in Streamlit Cloud dashboard\n4. **Deploy** - Streamlit Cloud will automatically deploy from your main branch\n\n### Local Deployment\n\n```bash\n# Install Streamlit\npip install streamlit\n\n# Run locally\nstreamlit run app.py\n```\n\n## 📊 Data Sources\n\nThe platform uses legal documents from the `data/` directory, organized by year. Each document is processed and indexed for semantic search capabilities.\n\n**Document Types:**\n- Contract disputes\n- Appellate decisions\n- Legal orders and dismissals\n- Case law documents\n\n## 🔒 Security \u0026 Privacy\n\n- **API Keys**: Never commit API keys to version control\n- **Data Privacy**: Ensure compliance with data protection regulations\n- **Access Control**: Implement appropriate access controls for sensitive legal data\n\n## 📝 License\n\n[Add your license information here]\n\n## 🆘 Support\n\n- **Issues**: Report bugs and feature requests via GitHub Issues\n- **Discussions**: Join community discussions in GitHub Discussions\n- **Documentation**: Check the project wiki for detailed guides\n\n## 🙏 Acknowledgments\n\n- Justice for All organization for the vision and mission\n- OpenAI for providing the language models\n- The open-source community for the tools and frameworks used\n\n---\n\n**Note**: This is a prototype system transitioning to Streamlit for the MVP. For production use, ensure proper security measures, data validation, and compliance with legal requirements.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyenklabs%2Fj4all-core-platform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyenklabs%2Fj4all-core-platform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyenklabs%2Fj4all-core-platform/lists"}