Real-time HR Consulting Platform Development

Заказчик: AI | Опубликовано: 24.10.2025
Бюджет: 60 $

Full-Stack Development of a Web-Based HR Consulting App using Pure PHP (No Frameworks) Detailed Project Description Hello to all talented freelancers, We are seeking a professional and experienced Full-Stack PHP developer to build a complete, ready-to-use web application from scratch. The project, named “sumHRo”, will be a platform for booking and receiving online Human Resources consulting services. The most critical and non-negotiable requirement for this project is the use of modern, pure PHP (version 8 or higher) for the back-end, without the use of any frameworks like Laravel, Symfony, etc. This is a strict requirement, and your proposal must demonstrate your expertise and experience in non-framework PHP development. The application will include a robust authentication system, separate dashboards based on user roles (admin, consultant, user), a service booking system, and a real-time chat system. Important Note on the Chat System: We do not want to use outdated methods like Ajax Polling (sending repetitive requests to the server). The chat system must be implemented using Server-Sent Events (SSE) to push messages from the server to the client in real-time, ensuring minimal load on server resources. The front-end must be fully responsive, designed with a Mobile-First methodology using Bootstrap 5. We expect clean, secure, maintainable, and high-quality code. Technology Stack Front-end: HTML5, CSS3, Vanilla JavaScript (ES6+), Bootstrap 5 Back-end: Pure PHP version 8+ (Use of any framework is strictly prohibited) Database: MySQL with the PDO extension Key Technical Requirements (Non-negotiable) Your implementation must strictly adhere to the following standards: Server-Side Logic: All back-end logic, including routing, data processing, and session management, must be written in pure PHP (procedural or object-oriented). Secure Database Interaction: All database queries must be executed using the PDO (PHP Data Objects) extension. The use of Prepared Statements for all SQL operations is mandatory to prevent SQL Injection attacks. Password Security: User passwords must be securely hashed using password_hash() and verified with password_verify(). The use of legacy algorithms like MD5 or SHA1 is not acceptable under any circumstances. Real-time Chat with SSE: The chat system between a consultant and a user must be implemented using Server-Sent Events (SSE). This will allow new messages to be delivered instantly with the lowest possible server overhead. Sending messages from the client can be handled via a standard POST request using the Fetch API. Responsive Design: The user interface must be fully responsive, built with a Mobile-First methodology and the Bootstrap 5 framework. All components must display correctly and be usable across all screen sizes, from small mobile devices to large desktops. Clean & Modular Code: The PHP code must be well-structured, modular, and reusable. Common parts like the database connection, header, footer, and utility functions should be placed in separate, includable files. Core Features and Functionality 1. Authentication System: User registration form (including name, email/mobile, password) with full client-side and server-side validation. Automatic generation of a unique username based on the email or mobile number. Secure login system using email/mobile and password. Automatic redirection to the user’s role-specific dashboard upon successful login. A secure logout feature that completely destroys the user’s session. Strict access control for all protected pages based on user role and session status. 2. Role-Based Dashboards: Main Admin: Full access to all system sections; can manage users (create, edit, delete, change roles), manage services, and view all reservations. Sub Admin: Can manage users (except other admins), services, and all reservations. Consultant: Can only view and manage reservations assigned to them. Can chat with users associated with those specific reservations. User: Can view their reservation history, book new services, and chat with their assigned consultant. 3. Services and Booking System: A page displaying a list of service packages and selectable add-on services. A user-friendly booking form including a date/time picker, package selection, and checkboxes for add-on services. An admin panel to view, approve, cancel, and assign consultants to new reservations. A consultant panel to view their assigned reservations and update their status (e.g., to “Completed”). 4. Chat System (with an emphasis on SSE): Once a reservation is approved and a consultant is assigned, a private chat channel is activated between the user and the consultant. The client-side JavaScript code will use the EventSource API to establish a persistent connection with a PHP script to receive new messages in real-time. A server-side PHP script will manage the SSE connection and push new messages to the relevant client as soon as they are saved to the database. Initial Setup Script (setup.php) You must provide a file named setup.php that performs the following tasks: Connects to the MySQL database. Creates all required tables using CREATE TABLE IF NOT EXISTS (the schema and table structure will be provided). Creates a default Main Admin user and populates the database with a few sample services. Displays a success message and recommends deleting the file after setup is complete for security reasons. How to Apply (Your Proposal Requirements) To be considered for this project, your proposal must include clear and direct answers to the following points. Proposals that fail to address these items will not be reviewed. Experience and Expertise: Briefly describe your relevant experience, especially with pure PHP development (non-framework) and implementing security features like PDO and Prepared Statements. Live Portfolio: Provide links to a few of your live, online projects that you have developed. Projects built with pure PHP are highly preferred. Final Time and Cost: Please state the exact time required to complete the entire project (in days or weeks) and your final, fixed price for delivering all the specified features. Please avoid hourly rates or open-ended estimates. Free Support Period: Specify the duration (e.g., 30 days, 60 days, etc.) for which you will provide free support after the final delivery to fix any potential bugs or issues that may arise. We are looking for a professional and transparent collaboration. We appreciate you taking the time to read our requirements carefully and look forward to receiving your comprehensive proposal.