Welcome to the Contacts Manager Web Application! This is a project for COP4331C. This project is designed to help users efficiently manage their personal and professional contacts through a user-friendly web interface.
- User Authentication: Secure login and registration system to protect user data.
- Add New Contacts: Easily add new contacts with details such as name, email, phone number, and address.
- View Contacts: Display a list of all contacts with options to view detailed information.
- Edit Contacts: Update existing contact information as needed.
- Delete Contacts: Remove contacts that are no longer needed.
- Search Functionality: Quickly find contacts using a search bar.
-
Frontend:
- HTML5
- CSS3
- JavaScript (ES6+)
-
Backend:
- PHP
- MySQL
-
Additional Tools:
- Composer (Dependency Management)
- npm (Node Package Manager)
- pnpm (Fast, disk space efficient package manager)
Follow these instructions to set up and run the project on your local machine.
- Web Server: Apache or Nginx
- PHP: Version 7.4 or higher
- MySQL: Version 5.7 or higher
- Composer: Installation Guide
- Node.js and npm: Download and Install
- pnpm: Install via npm:
npm install -g pnpm
-
Clone the Repository:
git clone https://github.com/logan-g-man/contacts-manager.git cd contacts-manager -
Backend Setup:
- Navigate to the
LAMPAPIdirectory:cd LAMPAPI - Install PHP dependencies using Composer:
composer install
- Configure your database settings in the
config.phpfile:<?php $dbhost = 'localhost'; $dbuser = 'your_db_username'; $dbpass = 'your_db_password'; $dbname = 'contacts_manager'; ?>
- Import the database schema:
- Create a database named
contacts_managerin MySQL. - Import the provided SQL file to set up the necessary tables.
- Create a database named
- Navigate to the
-
Frontend Setup:
- Navigate back to the root directory:
cd .. - Install JavaScript dependencies using pnpm:
pnpm install
- Navigate back to the root directory:
-
Start the Backend Server:
- Ensure your web server (e.g., Apache) is running and serving the
LAMPAPIdirectory.
- Ensure your web server (e.g., Apache) is running and serving the
-
Start the Frontend Development Server: Make sure you have ran
pnpm installbeforehandpnpm run dev
- The application will be accessible at
http://localhost:3000.
- The application will be accessible at
contacts-manager/
├── LAMPAPI/ # Backend PHP API
│ ├── config.php # Database configuration
│ ├── endpoints/ # API endpoints
│ └── ... # Other backend files
├── css/ # CSS stylesheets
├── js/ # JavaScript files
├── images/ # Image assets
├── index.html # Main HTML file
├── package.json # Node.js dependencies
├── composer.json # PHP dependencies
└── README.md # Project documentation