Table of Contents
Welcome to Kashtable, our financial SaaS platform—a powerful Python-based solution designed to tackle complex financial challenges with ease.
- Flask Integration: Seamlessly blends
Flask
to craft a scalable, robust web application, ensuring swift responses to user needs. - Data Manipulation: Empowers users with extensive data analysis and manipulation, providing insights that drive strategic decisions.
- Database Management: Leverages a lightweight, high-reliability
SQL
database engine, ensuring data integrity and performance. - Interactive Visualizations: Elevates user experience with
Highcharts
, offering dynamic, visually engaging data representations that enhance comprehension.
Our platform is engineered to address critical issues:
- Liquidity Management: Navigate uncertain economic landscapes with confidence, resolving liquidity challenges effectively.
- Performance Optimization: Maintain healthy EBITDA and closely monitor key performance drivers.
Achieve your financial goals effortlessly through:
- Diagnostic Tools: Identify and address financial bottlenecks swiftly.
- Comprehensive Reporting: Generate insightful financial reports effortlessly.
- Business Driver Analysis: Gain deep insights into the factors impacting your business performance.
- Advanced Financial Analysis: Conduct thorough financial evaluations with ease.
- Enhanced Visibility: Get a clear view of your financial landscape for informed decision-making.
- Forecasting Capabilities: Anticipate future trends and plan accordingly.
- Integrated SaaS Solutions: Seamlessly integrate our platform into your existing infrastructure.
- Robust Security Measures: Rest easy knowing your sensitive financial data is well-protected.
To get started with Kashtable, we recommend using poetry
:
-
Clone the Repository
git clone https://github.com/your-username/kashtable.git
-
Install
poetry
If you don't have
poetry
installed, you can install it by following the instructions on the Poetry website.curl -sSL https://install.python-poetry.org | python3 -
-
Create a Virtual Environment
poetry lock
-
Install Dependencies
poetry install
-
Activate the Virtual Environment
poetry shell
-
Run the Application
From your terminal:
poetry run flask run --debug
From Python:
>>> from kashtable import create_app >>> app = create_app() >>> app.run(debug=True)
Here is a quick guide to get you started with Kashtable:
- Register an Account: Sign up for a new account on the platform.
- Log In: Use your credentials to log in to the platform.
- Upload Data: Navigate to the upload section and import your financial data.
- Analyze: Utilize the platform's tools to analyze your data and generate reports.
- Visualize: Create dynamic charts and graphs to visualize your financial performance.
To begin using Kashtable, first register an account. Fill out the registration form with your company and personal details, ensuring all mandatory fields are completed.
Once registered, log in using your email and password. If you forget your password, use the 'Forgot Password' feature to reset it.
Navigate to the 'Upload Data' section. Here, you can import your financial data files. Supported formats include .xls
, .xlsx
, and .csv
. Ensure your data is correctly formatted to match the template provided by the platform.
After uploading your data, head to the 'Analyze' section. Utilize tools like trend analysis, variance analysis, and ratio analysis to gain insights into your financial performance.
Create visually engaging reports using the 'Visualize' section. Choose from various chart types like line charts, bar charts, and pie charts to represent your data effectively.
Our platform's database model is designed to enable extensive data analysis and manipulation, providing insights that drive strategic decisions.
To connect a Flask
application to an SQLite
database for the first time:
>>> from kashtable import create_app, db
>>> create_app().app_context().push()
>>> db.create_all()
# CREATE TABLE user ( ...
# CREATE TABLE file ( ...
Field | Type | Description |
---|---|---|
Id (PK) | int | Primary Key |
Type | str | User Type |
Company name | str | Company Name |
Street | str | Street Address |
Postcode | str | Postal Code |
City | str | City |
Country | str | Country |
Siren | str | Siren Number |
First name | str | First Name |
Last name | str | Last Name |
Email Address | ||
Phone number | str | Phone Number |
Image file | str | Image File Path |
Bundle | int | Bundle ID |
Activated | bool | Activation Status |
Password | str | Password |
Field | Type | Description |
---|---|---|
Id (PK) | int | Primary Key |
Name | str | File Name |
Doc | pickle | Document (Pickle) |
Date | datetime | Date Uploaded |
User Id | int | Foreign Key (User) |
The User
and File
tables are linked through the User Id
foreign key, allowing each file to be associated with a specific user.
Foreign Key | References | Description |
---|---|---|
User Id | User(Id) | Connects File to User by User Id |
Our Excel Formatter module provides a structured template and efficient formatting mechanism, streamlining data entry and analysis processes.
Field Name |
---|
table_name |
font_weight |
font_color |
background_color |
font_family |
font_size |
text_align |
Field Name | Type | Options/Description |
---|---|---|
table_name |
List[str] |
- Compte de Resultat Analytique Cumulé - Compte de Resultat Analytique Courant - Flux de Trésorerie Historique Direct - Flux de Trésorerie Historique Indirect - Bilan - Budget - Prévision de Trésorerie |
font_weight |
str |
- normal - bold - italic |
font_color , background_color |
str |
- Color name - Hex |
font_family |
str |
- Any font family |
font_size |
str |
- Pixel (px) - Percentage (%) |
text_align |
str |
- right - left - center |
The client side of Kashtable is designed to provide a seamless and user-friendly experience for interacting with the platform. Users can easily manage their profiles, upload data, and visualize financial reports. The client-side interface is built to ensure smooth navigation and efficient use of all the platform's features.
Users can create a new account by filling out the registration form. This form requires basic information such as the user's name, email, and password. After completing the form, users receive a confirmation email to verify their account.
Existing users can log in using their credentials. The login page provides fields for email and password. If a user forgets their password, they can click the "Forgot Password" link to reset it.
Users can reset their password if they forget it. This involves entering their email address, receiving a reset link, and creating a new password.
The sidebar provides navigation options, tailored for both authenticated and unauthenticated users.
The sidebar for unauthenticated users offers limited access, typically including links to the home page, about section, and registration/login pages.
The sidebar for authenticated users includes access to all features, such as profile management, data upload, and analysis tools.
Users can view and edit their profile information. This includes personal details like name, email, and contact information, as well as company details.
The file upload functionality allows users to import financial data files to the platform for analysis. Users can select files from their local system and upload them to their account.
The home page displays an overview of recent activities and updates, providing users with a quick snapshot of their financial data and analysis.
Users can view their uploaded data in tabular format. This feature allows users to inspect their data for accuracy and completeness before performing any analysis.
Users can create and view dynamic charts to visualize their financial data. This feature supports various chart types, including line charts, bar charts, and pie charts, making it easy to identify trends and patterns.
The CRUD (Create, Read, Update, Delete) Admin section of Kashtable allows administrators to manage users and files efficiently. This section provides a comprehensive interface to perform all necessary administrative tasks, ensuring smooth operation and maintenance of the platform.
The admin home page provides an overview of administrative options and system status. It includes quick links to user and file management sections.
Administrators can view a list of all users registered on the platform. This list includes user details such as name, email, and registration date.
Administrators can add new users by filling out the user creation form. This form requires details such as the user's name, email, and password.
Detailed information about each user can be viewed. This includes their profile information, account status, and any associated files.
Administrators can edit user information as needed. This includes updating contact details, changing account status, and resetting passwords.
Administrators can view a list of all files uploaded to the platform. This list includes file names, upload dates, and associated users.
Administrators can upload new files to the platform. This feature is useful for adding sample data or importing data on behalf of users.
Detailed information about each file can be viewed. This includes file metadata, content preview, and user associations.
We welcome contributions from the community! If you have a feature request, bug report, or want to contribute code, please follow these steps:
-
Fork the Repository Create a personal copy of the repository by clicking the 'Fork' button.
-
Clone Your Fork Clone your forked repository to your local machine:
git clone https://github.com/your-username/kashtable.git
-
Create a Feature Branch Create a new branch for your feature or bugfix:
git checkout -b feature/YourFeature
-
Commit Your Changes Make your changes and commit them with a meaningful message:
git commit -m 'Add some feature'
-
Push to the Branch Push your changes to your forked repository:
git push origin feature/YourFeature
-
Open a Pull Request Open a pull request on the original repository, describing your changes in detail.
For more details, please refer to our CONTRIBUTING.md file.
Distributed under the BSD-3 License. See LICENSE.txt
for more information.