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

110 lines
2.8 KiB
Markdown

# 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)
1. Clone this repository to your local machine
2. Run the following command in the project root:
```bash
docker-compose up -d
```
3. The services will be available at:
- Application: http://localhost:9000
- PHPMyAdmin: http://localhost:8889 (credentials: root/root)
4. 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
#### Using Docker (Recommended)
The application will be automatically running at http://localhost:9000
#### Using PHP Built-in Server
Start the development server using:
```bash
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
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
5. Add a fuzzy email search to the Admin license list
6. Add a fuzzy search for the project & webhook fields to the Admin Availability Checker list
7. Add a fuzzy search filter for the project field in Admin Reports
8. Add a date range filter for the date field in Admin Reports
### Integrations
9. 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