| Name | Number | |
|---|---|---|
| António Braga | 201708995 | [email protected] |
| Arnaldo Lopes | 202307659 | [email protected] |
| Leandro Resende | 202306343 | [email protected] |
User:
- Register a new account.
- Log in and out.
- Edit their profile, including their name, username, password, and email.
Freelancers:
- List new services, providing details such as category, pricing, delivery time, and service description, along with images or videos.
- Track and manage their offered services.
- Respond to inquiries from clients regarding their services and provide custom offers if needed.
- Mark services as completed once delivered.
Clients:
- Browse services using filters like category, price, and rating.
- Engage with freelancers to ask questions or request custom orders.
- Hire freelancers and proceed to checkout (simulate payment process).
- Leave ratings and reviews for completed services.
Admins:
- Elevate a user to admin status.
- Introduce new service categories and other pertinent entities.
- Oversee and ensure the smooth operation of the entire system.
Extra:
- Real-time chat between clients and freelancers.
- Favorites system to bookmark services.
- Advanced filter options, including order status, category, price, rating, location, and provider.
- Service images and media gallery.
- Profile avatars and customization.
- Admin panel for user/service/category management.
- Order management for both clients and freelancers.
Clone the project repository to your local machine using the following command:
git clone [email protected]:FEUP-LTW-2025/ltw-project-ltw02g02.git
cd ltw-project-ltw02g02This project uses an SQLite database. To set up the database, follow these steps:
First, create the necessary tables based on the schema defined in schema.sql by running the following command:
php scripts/setup_database.phpThis will create the database.db SQLite file and set up the necessary tables for the application.
If you want to populate the database with test data (e.g., dummy users, services, etc.), you can use the seed_database.php script.
To seed the database, run the following command:
php scripts/seed_database.phpThis will execute the seed.sql file and insert sample data into your database.
Make sure your PHP environment is set up correctly:
Ensure the PDO and SQLite3 extensions are enabled in your php.ini file. You can find these extensions in the following lines:
extension=pdo.so
extension=sqlite3.soTo run the project locally using PHP's built-in web server, navigate to the project directory and execute the following command:
php -S localhost:9000This will start the web server at http://localhost:9000. You can open this in your browser to access the application.
The following credentials are provided for testing purposes (see database/seed.sql):
- admin1/adminpass1
- admin2/adminpass2
- freelancer1/freelancerpass
- user1/userpass