A message from the creator
Thank you for visiting the @kaustubhdevstack/customgpt repository! If you find this repository helpful or useful, we encourage you to start it on GitHub. Starring a repository is a way to show your support for the project. It also helps to increase the visibility of the project and to let the community know that it is valuable. Thanks again for your support and we hope you find the repository useful!
Watch Video https://www.youtube.com/watch?v=AozAlTwaQdY&t=3s
Custom GPT is an AI-powered Customizable SaaS assistant Created using Open AI PHP API Library, CodeIgniter Admin LTE 3
This repository has all the necessary AI Toolkits that are required by Digital Marketers and Coders
- Creative Title Maker
- E-commerce Title Maker
- Topic Suggestions
- Youtube Suggestions
- Short Video Suggest
- Create Content Outline
- Description Maker
- Meta Description Maker
- Improve/Fix Content
- Email Writer
- Keyword Extractor
- Linkedin Profile Bio Maker
- Social Media Page Bio Maker
- Tweet Maker
- Instagram Captions Maker
- Create Viral Hashtags
- Review Generator
- Strategy Maker
- Meme Maker
- Google Ads
- Meta Ads
- Linkedin Ads
- Code Writer
- Regular Expressions Generator
- Code Reviewer
- Bug Fixer
- Improve Code
- Secure Code
- Convert Code
- Generate SQL/MySQL
Since this is a PHP-based SaaS Application you will need Xampp or WampServer on your machine to run it. The database file will be stored inside the Custom GPT Database Folder
Note: Make sure you first set up an updated version of CodeIgniter 4 Framework and then all the custom files which are explained below.
If you want to contribute to this library or create your own GPT-based application for your personal work let me guide you through the Application structure of the application so it will be much easier for you to edit the files.
1. Controllers
There are 4 main controllers which are responsible for controlling the entire functionality of this Custom GPT Applications, which are mentioned below:-
- The Home Controller
All the functionality of Login, Forgot Password, and Registration is in this controller. The Registration is coded in such a way that only one person (Admin/Owner) can register. So basically the very first admin registration will be granted the role of Super admin, after that no registrations will be allowed. This is done for Security reasons.
So what if you want your team members to want to register their accounts?
Unfortunately for now this code has no functionality for that, If the super admin wants to add the team members to this application he/she must add team members using the functionality given in the Super admin dashboard.
The super admin dashboard has the functionality to add team members and assign individual user roles. By default the team members won't have access to Users in other words they won't be able to see registered users, or add or delete them.
- The Dashboard Controller
All the functionality related to the user profile is inside this controller
For super admin:
- Upload/Change Avatar
- Change Email
- Change Password
- Update Name
- Add new team members with roles
- Block team member (Blocks user from accessing the account)
- Archive team member (Deletes user account temporarily admin can later restore the account it also blocks the user from accessing the account)
- Deactivate Team Member (Makes account status inactive which blocks the user from login)
- Delete Team member permanently
For Regular users:
-
Upload/Change Avatar
-
Change Email
-
Change Password
-
Update Name
-
The Tools Controller
All the AI tool's functionalities and Prompts come under this controller.
- The History Controller
The functionality to manage your AI Chat History like Chat GPT comes under this controller.
2. Models
There are only 2 Models that are responsible for managing the database queries controlling the functionalities given inside the above-mentioned 4 controllers:-
- The Prompt Model
This model has all the queries to manage the AI Chat History. The queries are written using CodeIgniter 4's Query Builder System.
- The Team Model
This Model has all the queries to manage the user dashboard-related queries. The queries are written using CodeIgniter 4's Query Builder System.
3. Helper Functions
In the helper folder of the application, you will find form_helper.php that file has a function to display validation errors clearly for each input field.
4. The views or the pages
The views folder in the applications has all the pages that make up the entire application. However, there are two custom folders that you need to take a look at:-
- Templates Folder
This folder has header and footer files, so all the CSS and Javascript declarations are done inside these files.
- Tools folder
This folder has all the files for the 30 AI Tools, If you want to edit the tool's structure or want to add new tools you will be working mostly with the "Tools folder". All the tools inside this folder are controlled by the Tools controller and the history of these tools is managed by the queries inside the Prompt Model.
The view files outside these two custom folders are all dashboard and user activity-related pages and their functionality is controlled by the Home Controller Dashboard Controller and the queries inside the Team Model manages all user activity.
Hence while working with the codebase you will spend most of the time inside the structure explained above. The rest all depends on your knowledge of the CodeIgniter 4 Framework.
We have used Open AI for this to make sure the AI tools function properly, hence, these tools won't work without an Open AI API Key, so make sure you add the API Key before working with the application itself.
OPEN_AI_API_KEY = ''
This application uses Open AI PHP API Library Created by Orhanerday The files can be found at - vendor/orhanerday/open-ai
If you think that this repository is useful then make sure to support me!