Open Source Project

AFASAsk Community

Join the development community building the future of AI-powered data analysis for AFAS systems

Contributing to AFASAsk

We welcome contributions from developers, data analysts, and AFAS users worldwide

Fork & Contribute

Create your own fork and submit pull requests with improvements

Code Standards

Follow PEP 8, use Black formatting, and include comprehensive tests

Report Issues

Help improve AFASAsk by reporting bugs and suggesting enhancements

Documentation

Update docs for new features and help improve user guides

Development Workflow

How to contribute code to the AFASAsk project

1

Fork Repository

Create your own fork of the AFASAsk repository

git clone [your-fork-url]
2

Setup Environment

Install dependencies and configure development environment

poetry install
3

Create Feature Branch

Create a branch for your feature or bug fix

git checkout -b feature/my-feature
4

Test & Format

Run tests and format code before committing

poetry run pytest
5

Submit PR

Create pull request with clear description

Create PR on GitHub

Project Architecture

Understanding the AFASAsk codebase structure

Directory Structure

AFASAsk/
├── afasask/              # Main application
│   ├── agent/            # Agent system
│   ├── chat/             # Chat & messaging
│   ├── database/         # Database models
│   ├── gpt/              # AI integrations
│   ├── meilisearch/      # Search functionality
│   ├── pipelines/        # Processing pipelines
│   ├── router/           # FastAPI routers
│   └── utils/            # Utility functions
├── configs/             # Configuration files
├── migrations/          # Database migrations
├── static/              # Static assets
├── templates/           # HTML templates
└── tests/               # Test files

Key Components

Multi-Agent System

Intelligent AI agents for data analysis, meta-analysis, and user interactions

Pipeline Queue

Manages concurrent processing with max 5 pipelines and queue system

AFAS Integration

Native AFAS OAuth authentication and database connectivity

PowerBI Integration

OAuth integration for dashboard creation and visualization

Issue Reporting & Feature Requests

Help us improve AFASAsk by reporting issues and suggesting features

Bug Reports

When reporting bugs, please include:

  • Environment Details: OS, Python version, browser
  • Steps to Reproduce: Clear steps to recreate the issue
  • Expected vs Actual: What you expected vs what happened
  • Logs: Relevant error messages or logs
  • Screenshots: For UI-related issues

Feature Requests

For feature requests, please include:

  • Use Case: Why is this feature needed?
  • Proposed Solution: How do you envision it working?
  • Alternatives: Any alternative solutions considered?
  • Impact: Who would benefit from this feature?
  • Priority: How important is this feature?

Development Roadmap

Current priorities and future plans for AFASAsk

Short Term (Next 3 months)

Enhanced Error Handling

Improved error messages and logging for better debugging

PowerBI Improvements

Enhanced dashboard creation and visualization options

Mobile UI

Responsive design improvements for mobile devices

Performance Optimization

Query optimization and faster response times

Medium Term (3-6 months)

Multi-language Support

Support for additional languages beyond Dutch and English

Advanced Analytics

Enhanced analytical capabilities and dashboard features

API Rate Limiting

Implement rate limiting and throttling for API endpoints

Enhanced Security

Additional security features and compliance measures

Long Term (6+ months)

ML Model Training

Custom machine learning models for specific datasets

Advanced Visualizations

More sophisticated chart types and interactive elements

Third-party Integrations

Connect with more enterprise tools and platforms

Enterprise Features

Advanced user management and enterprise controls

Community Guidelines

Help us maintain a respectful and productive development community

Code Standards

  • Follow PEP 8 and use Black for Python formatting
  • Use ESLint and Prettier for TypeScript/JavaScript
  • Include comprehensive tests for new functionality
  • Update documentation for any new features

Collaboration

  • Be respectful and constructive in all interactions
  • Provide helpful feedback and suggestions
  • Help others learn and improve their contributions
  • Share knowledge and contribute to discussions

Recognition & Acknowledgments

We value all contributions to the AFASAsk project and recognize our community members

Contributors List

All contributors are acknowledged in our project documentation

Special Mentions

Outstanding contributions are highlighted in release notes

Community Spotlights

Regular features highlighting community members and their work

Ready to Contribute?

Join our community of developers building the future of AI-powered data analysis for AFAS systems.