Files
2025-02-10 03:04:50 +01:00

2.8 KiB

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
  1. Clone this repository to your local machine
  2. Run the following command in the project root:
docker-compose up -d
  1. The services will be available at:
  2. 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.sql file
    • import the migration.sql file

Traditional Installation

  1. Clone this repository to your local machine
  2. Configure your database connection in config.php
  3. Import the database schema using the provided db.sql file

Running the Application

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

Client Login http://localhost:9000/client/login

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

  1. On admin login redirect to Access Log

  2. Client login is broken

  3. Add bulk delete functionality to the Admin License list

  4. Change the pagination type from offset to cursor pagination on Admin License list (https://www.merge.dev/blog/cursor-pagination)

Filter functionality

  1. Add a fuzzy email search to the Admin license list

  2. Add a fuzzy search for the project & webhook fields to the Admin Availability Checker list

  3. Add a fuzzy search filter for the project field in Admin Reports

  4. Add a date range filter for the date field in Admin Reports

Integrations

  1. 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