Module 3 - TFU
A PHP-based web application for managing team campaigns and followups.
Getting Started
Prerequisites
- Docker and Docker Compose
- OR PHP 7.4 or higher with MySQL/MariaDB
Docker Installation (Recommended)
- Clone this repository to your local machine
- Run the following command in the project root:
docker-compose up -d
- The services will be available at:
- Application: http://localhost:9000
- PHPMyAdmin: http://localhost:8889 (credentials: root/root)
- Import the database schema:
- Access PHPMyAdmin at http://localhost:8889
- Login with username: root, password: root
- Create a new database named 'tfu_db'
- Import the
db.sqlfile - import the
migration.sqlfile
Traditional Installation
- Clone this repository to your local machine
- Configure your database connection in
config.php - Import the database schema using the provided
db.sqlfile
Running the Application
Using Docker (Recommended)
The application will be automatically running at http://localhost:9000
Using PHP Built-in Server
Start the development server using:
php -S localhost:9000
Then visit http://localhost:9000 in your web browser.
Login Credentials
Admin Login http://localhost:9000/admin/login
- Email: admin@manaknight.com
- Password: a123456
Client Login http://localhost:9000/client/login
- Email: emmy@manaknight.com
- Password: a123456
Features
- Campaign management
- Followup tracking
- Add and edit campaign details
- Database-driven application
Core Project Files
├── README.md ├── config.php # Database configuration ├── db.sql # Database schema ├── migration.sql # Database seed data ├── index.php # Main entry point ├── docker-compose.yml # Docker configuration
Tasks
Miscs
-
On admin login redirect to Access Log
-
Client login is broken
-
Add bulk delete functionality to the Admin License list
-
Change the pagination type from offset to cursor pagination on Admin License list (https://www.merge.dev/blog/cursor-pagination)
Filter functionality
-
Add a fuzzy email search to the Admin license list
-
Add a fuzzy search for the project & webhook fields to the Admin Availability Checker list
-
Add a fuzzy search filter for the project field in Admin Reports
-
Add a date range filter for the date field in Admin Reports
Integrations
- User should be able to Add Campign without connecting drive. On the Add Campign screen when the user selects the Select Google sheet button, display the google picker modal to select spreadsheets only.
https://developers.google.com/drive/picker/guides/overview
Google console creds: Client id: 356934742115-c707dqbhct9b7gj64eo9rqfdfi47rb8o.apps.googleusercontent.com API key: AIzaSyB7JhbYloABBC-jZebyjHoiXUiM-s_7sBA