An open API service indexing awesome lists of open source software.

https://github.com/sparqone/sparq

sparQ is modular HR/Team Management and general business application platform built with Python and Flask. Features a plugin-based architecture supporting core business apps like HR, task management, document signing, and more. Easy to extend with custom modules and apps.
https://github.com/sparqone/sparq

business flask-application hr plugin-system python saas small-business sqlalchemy sqlite

Last synced: 7 months ago
JSON representation

sparQ is modular HR/Team Management and general business application platform built with Python and Flask. Features a plugin-based architecture supporting core business apps like HR, task management, document signing, and more. Easy to extend with custom modules and apps.

Awesome Lists containing this project

README

          


sparQ

Project Home





sparQ is a modular HR/Team Management and general business application platform built with Python and Flask. It provides a flexible, plugin-based
architecture for managing core business operations, allowing businesses to enable or disable modules based on their needs.


![sparQ Dashboard](modules/core/views/assets/images/screen1.png)

[Documentation](https://sparqone.github.io)

## Features

- **Modular System**: Easily extend functionality with independent modules.
- **Dynamic Module Loading**: Modules are auto-discovered and loaded.
- **Extensible Plugin Architecture**: Uses `pluggy` for module integration.
- **Language Support**: Supports multiple languages and user-specific settings.
- **Built-in Core Modules**:
- **Core**: Authentication, module management, and UI framework.
- **People**: Employee management, roles, and departments.
- **Additional Modules**:
- **Books**: Accounting and bookkeeping.
- **E-Sign**: Digital document signing.
- **Tasks**: Task and appointment management.
- **Weather & Clock**: Utility modules (For demonstration purpose)
- **Modern UI**: HTMX for dynamic updates, Bootstrap styling, and responsive layouts.

## Module System

sparQ follows a "building block" approach where functionality is divided into independent modules.

[How to write a new module - (Applications and Extensions)](https://github.com/sparqone/sparq/blob/master/docs/Write%20a%20module%20-%20App.md)

## Security
- User authentication and role-based access control.
- Admin privileges for module management.
- Secure session management.

## Database Configuration
sparQ uses PostgreSQL as its database system for all environments (development, testing, and production).

### PostgreSQL Setup
1. Install PostgreSQL on your server
2. Create a new database for the application:
```
createdb sparq
```

For testing, also create a test database:
```
createdb sparq_test
```

3. Set environment variables for the database connection:
```
export DB_USER=your_username
export DB_PASSWORD=your_password
export DB_HOST=localhost
export DB_PORT=5432
export DB_NAME=sparq
```

Alternatively, you can set a complete database URL:
```
export DATABASE_URL=postgresql://username:password@localhost:5432/sparq
```

4. Install the required PostgreSQL Python driver:
```
pip install -r requirements.txt
```

5. Run the application:
```
python app.py
```

## Roadmap
- Additional business modules
- Enhanced API integration
- Mobile app support
- Customization options
-

## License
sparQ is released under the Apache-2.0 license

## Contributing
We welcome contributions! Please submit issues or pull requests on [GitHub](https://github.com/sparqone/sparq).

## Contact
For questions or support, reach out to [asim95@gmail.com](mailto:asim95@gmail.com).