Marva is an AI-powered marketing platform designed to assist businesses with marketing strategy, content creation, and social media management. It leverages advanced AI agents integrated via LangChain and Ollama to automate and optimize marketing workflows.
- Marketing Strategist Agent: Analyzes company bio and post analytics to create targeted marketing strategies.
- Marketing Material Creator Agent: Reads company materials and existing posts/comments to generate new marketing content.
- Social Media Analyzer & Post Replier Agent: Summarizes social media data and provides insights.
- Post Replier Agent: Generates replies to posts and comments.
- Lightweight Local Database: Uses SQLite for storing posts, comments, and chat conversations.
- Interactive Chat Interface: Communicate with AI agents to receive insights, strategies, and content suggestions.
- Admin Dashboard: Built-in Django admin to view and manage database content effortlessly.
- Backend: Django 5.2.1
- AI Integration: LangChain 0.3.25 with Ollama and OpenAI
- Database: SQLite (file-based relational database)
- PDF Processing: PyPDF2
- Environment Management: python-dotenv
- Other Tools: Pandas for data manipulation
-
Clone the repository
git clone https://github.com/dagemdworku/marva.git cd marva -
Create and activate a virtual environment
python3 -m venv .venv source .venv/bin/activate -
Install dependencies
pip install -r requirements.txt
-
Configure environment variables (optional)
Create a .env file in the root directory and add your OpenAI API key if available:
OPENAI_API_KEY=your_openai_api_key_here
If no OpenAI API key is found, the system will default to using Ollama.
-
Run the development server
python manage.py runserver
-
Access the application
Open your browser and navigate to http://127.0.0.1:8000
-
Access the admin panel
Open your browser and navigate to http://127.0.0.1:8000/admin/ and use the following super user login credentials:
- username
dagemdworku - password
password
...or run the following command to create a new super user
python manage.py createsuperuser
- username
marva/
├── .venv/ # Python virtual environment (not committed to git)
├── .vscode/ # VS Code editor settings and workspace configuration
├── core/ # Main Django app with models, views, and AI agents
├── node_module/ # Node.js dependencies for frontend tooling
├── marva/ # Django project settings
├── static/ # Static files (CSS, JS, images)
├── manage.py # Django project management script
├── requirements.txt # Project dependencies
├── company_bio.pdf # Example company bio PDF for AI agents
├── db.sqlite3 # SQLite database file
├── input.css # Source CSS for Tailwind
├── package.json # Node.js project metadata and scripts
├── tailwind.config.js # Tailwind CSS configuration (added for VS Code extension to work)
├── README.md # Project documentation
├── .gitignore # Git ignore rules
└── .env # Environment variables-
Run Tailwind CSS CLI
npx @tailwindcss/cli -i input.css -o static/css/output.css --watch cd marva -
Run database migrations
python manage.py migrate
-
Insert Seed Data
The
seed_csvmanagement command populates the database with initial data from CSV files.python manage.py seed_csv
Unit tests are implemented for core functionalities and AI agent interactions. To run tests:
python manage.py testContributions, suggestions, and improvements are welcome! Feel free to open issues or submit pull requests.
This project is licensed under the MIT License.
For questions or support, reach out to Dagem D Worku (Dagi).
