A powerful suite of AI-powered tools built with Python and Django.
Lexis Tools is a web-based platform offering a variety of AI-driven functionalities, designed to enhance productivity and creativity. From text-to-speech and translation to content summarization and formatting, Lexis Tools provides a seamless and intuitive user experience.
🌐Website: https://lexistools.pythonanywhere.com
- 🤖 AI-Powered Text-to-Speech (TTS): Convert text into natural-sounding speech using models from ElevenLabs and Google.
- 🌐 Advanced Translation: Translate text between multiple languages leveraging powerful Large Language Models (LLMs) from Google, OpenAI, and Groq.
- ✂️ Text Summarization: Quickly condense long articles or documents into concise summaries.
- ✍️ Text Formatter: Customize and format text using user-defined prompts.
- 👤 User Authentication: Secure user registration, login, and profile management.
- ⚙️ Personalized Dashboard: Users can save their AI model configurations and manage their preferences.
- 📝 Blog: An integrated blog to share updates, guides, and articles.
- 🚀 RESTful APIs: A well-structured API for interacting with the AI models and other services.
- Backend: Python, Django, Django REST Framework
- Database: MySQL
- AI/LLM Integration: LangChain, OpenAI, Google Gemini, Groq
- Text-to-Speech: ElevenLabs, Google TTS
- Frontend: HTML, CSS, JavaScript
- Deployment: Pythonanywhere
Follow these instructions to get a local copy of Lexis Tools up and running for development and testing purposes.
- Python 3.8+
- MySQL Server
- Git
-
Clone the repository:
git clone https://github.com/Abdullah9779/LexisTools.git cd LexisTools -
Create and activate a virtual environment:
- On Windows:
python -m venv Lexis_Tools_venv .\Lexis_Tools_venv\Scripts\activate
- On macOS/Linux:
python3 -m venv venv source Lexis_Tools_venv/bin/activate
- On Windows:
-
Install the dependencies:
pip install -r requirements.txt
-
Set up environment variables: Create a
.envfile in the root directory and add the necessary API keys and configuration.# --------------- Secret key --------------- SECRET_KEY = "your-secret-key" SERIALIZER_SALT_KEY = "serialiser-salt-key" # --------------- Email Configurations --------------- EMAIL_HOST_USER = 'your-email-address@gmail.com' EMAIL_HOST_PASSWORD = 'your-email-password' DEFAULT_FROM_EMAIL = 'Lexis Tools <your-email-address@gmail.com>' MAIL_SEND_TO = 'your-second-email-address@gmail.com' # --------------- MySQL Configurations --------------- DATABASE_NAME = 'lexis-tools-name' DATABASE_USER = 'lexis-tools-user' DATABASE_PASSWORD = 'lexis-tools-password' DATABASE_HOST = 'localhost' DATABASE_PORT = '3306'
-
Configure the database: Make sure your MySQL server is running and you have created a database for the project. Update the
.envfile with your database credentials. -
Run the migrations:
python manage.py makemigrations python manage.py migrate
-
Create a superuser (optional): To access the Django admin panel, create a superuser.
python manage.py createsuperuser
-
Run the development server:
python manage.py runserver
The application will be available at
http://127.0.0.1:8000/.
The project is organized into several Django apps, following a modular architecture:
Lexis_Tools/
├── Lexis_Tools/ # Main Django project configuration
├── Lexis_Tools_ai_models/ # Core app for AI models (TTS, LLM, etc.)
├── Lexis_Tools_apis/ # API endpoints aggregator
├── Lexis_Tools_auth/ # User authentication and management
├── Lexis_Tools_blogs/ # Blog functionality
├── Lexis_Tools_pages/ # Frontend pages and views
├── static/ # Static files (CSS, JS, images)
├── templates/ # HTML templates
├── manage.py # Django's command-line utility
└── requirements.txt # Project dependencies
Distributed under the Apache License 2.0.
See the LICENSE file for details.