- Introduction
- Tech Stack
- Installation
- Contributing
- Resources for Beginners
- Documentation
- Code Reviews
- Feature Requests
- Spreading the Word
- Code of Conduct
- Thank You
Welcome to AI Insights, a web-based application designed to provide valuable insights for your business using AI-driven analytics. The application leverages multiple data sources to deliver comprehensive reports and visualizations, helping users make data-driven decisions with ease. We are excited to have you contribute to our project! No contribution is too small, and we appreciate your help in improving this application.
The project is built using the following technologies:
- Python – The main programming language used for backend development.
- Flask – A lightweight web framework used to build the web application.
- OpenAI API – Provides AI capabilities for natural language processing and generation features.
- Google Sheets API – Used to interact with Google Sheets for data retrieval and manipulation.
- MongoDB – A NoSQL database for storing application data.
- HTML/CSS/JavaScript – Frontend technologies for building the user interface.
- Bootstrap – A CSS framework for responsive design and styling.
- ProtonMail SMTP – Used for sending emails securely from the application.
You can set up the AI Insights application by following these steps:
- Python 3.x
- Poetry package manager (or use
pip
if you prefer) - Google Sheets API credentials (either through environment variables or a
credentials.json
file) - OpenAI API Key
- ProtonMail credentials
- MongoDB URI
-
Clone the repository:
git clone https://github.com/dmotts/ai-insights.git cd ai-insights
-
Install dependencies:
pip install -r requirements.txt
-
Set up environment variables:
Configure the necessary environment variables. You can set them in your environment or create a
.env
file in the root directory. Required variables include:GOOGLE_SHEETS_TYPE
GOOGLE_SHEETS_PROJECT_ID
GOOGLE_SHEETS_PRIVATE_KEY_ID
GOOGLE_SHEETS_PRIVATE_KEY
GOOGLE_SHEETS_CLIENT_EMAIL
GOOGLE_SHEETS_CLIENT_ID
GOOGLE_SHEETS_AUTH_URI
GOOGLE_SHEETS_TOKEN_URI
GOOGLE_SHEETS_AUTH_PROVIDER_X509_CERT_URL
GOOGLE_SHEETS_CLIENT_X509_CERT_URL
OPENAI_API_KEY
PROTONMAIL_ADDRESS
PROTONMAIL_PASSWORD
MONGODB_URI
Alternatively, you can store Google Sheets credentials in a
credentials.json
file in the root directory. -
Run the application:
python app.py
-
Access the application:
Open your web browser and go to
http://localhost:5000
to view the application.
We welcome contributions to AI Insights! Please follow these guidelines to ensure a smooth contribution process.
- Work on a New Branch: Always create a new branch for each issue or feature you are working on.
- Keep Your Branch Up to Date: Regularly pull changes from the main branch to keep your branch up to date.
- Write Clear Commit Messages: Use descriptive commit messages to explain what your changes do.
- Test Thoroughly: Ensure your changes work correctly and do not break existing functionality.
- Self-Review: Review your code before submitting to catch any errors or areas for improvement.
- Check Existing Issues: Before creating a new issue, check if it has already been reported.
- Create a New Issue: Go to the project's issues section and select the appropriate template.
- Provide Details: Give a clear and detailed description of the issue.
- Wait for Assignment: Wait for the issue to be assigned to you before starting work.
- Ensure Self-Review: Make sure you have thoroughly reviewed your code.
- Provide Descriptions: Add a clear description of the functionality and changes in your pull request.
- Comment Your Code: Comment on complex or hard-to-understand areas of your code.
- Add Screenshots: Include screenshots or logs if they help explain your changes.
- Submit PR: Submit your pull request using the provided template, and wait for the maintainers to review it.
If you prefer using GitHub Desktop, follow these steps:
- Open GitHub Desktop: Launch GitHub Desktop and log in to your GitHub account.
- Clone the Repository: Click on "File" > "Clone Repository" and select the repository to clone.
- Create a Branch: Click on "Current Branch" and select "New Branch" to create a new branch for your work.
- Make Changes: Edit the code using your preferred code editor.
- Commit Changes:
- In GitHub Desktop, select the files you changed.
- Enter a summary and description for your commit.
- Click "Commit to [branch-name]".
- Push Changes: Click "Push origin" to push your changes to GitHub.
- Create a Pull Request:
- On GitHub, navigate to your forked repository.
- Click on "Compare & pull request".
- Review your changes and submit the pull request.
- Wait for Review: Wait for the maintainers to review your pull request.
If you're new to Git and GitHub, here are some resources to help you get started:
- Forking a Repo
- Cloning a Repo
- Creating a Pull Request
- Getting Started with Git and GitHub
- Learn GitHub from Scratch
- Update Documentation: Document any significant changes or additions to the codebase.
- Provide Clear Explanations: Explain the functionality, usage, and any relevant considerations.
- Use Comments: Comment your code, especially in complex areas.
- Be Open to Feedback: Welcome feedback and constructive criticism from other contributors.
- Participate in Reviews: Help review others' code when possible.
- Follow Guidelines: Ensure your code meets the project's coding standards and guidelines.
- Suggest Improvements: Propose new features or enhancements that could benefit the project.
- Provide Details: Explain the rationale and potential impact of your suggestion.
- Share Your Experience: Share the project with others who might be interested.
- Engage on Social Media: Talk about the project on social media, developer forums, or relevant platforms.
Please note that we have a Code of Conduct. By participating in this project, you agree to abide by its terms.
Thank you for contributing to AI Insights! Together, we can make a significant impact. Happy coding! 🚀
Don't forget to ⭐ the repository!