Veja o README em Português(Brasil)
A web-based anonymous service evaluation platform designed for tablet deployment across organizational sectors. Collects real-time feedback through a user-friendly interface while providing administrators with comprehensive analytics and reporting capabilities.
- Anonymous Evaluations: Collects service feedback without storing personal data
- Dynamic Questions: Load questions by sector from the database
- Multi-Language Support: Built-in localization support
- Score-Based Responses: 0-10 scale rating system with visual feedback
- Optional Comments: Open-ended feedback field for qualitative data
- Admin Dashboard: Complete management panel with analytics and charts
- Complete CRUD interfaces: Manage tables via CRUD pages seamlessly
- Evaluation Summaries: Filter and review all submissions and feedback
- Responsive Design: Mobile-optimized interface suitable for tablet use
- Session Security: Secure session management with lifetime limit
- Backend: PHP 8.0+
- Database: PostgreSQL
- Frontend: HTML5, CSS3, JavaScript (Vanilla)
- Charts: Chart.js for data visualization
The system uses PostgreSQL with 7 core tables:
sectors- Organizational divisions for categorizing questionsdevices- Tablet/device registrations for form deploymentquestions- Survey questions linked to sectorsquestion_translations- Multi-language translations for questionsevaluations- Individual response records (questions ref. + scores)feedback- Open-ended text comments from usersadmin_users- Administrator credentials for panel access
See sql/database.sql for the complete schema.
- vlucas/phpdotenv ^5.6 - Environment configuration management
- Used in
config.phpto load.envfile
- Used in
- Chart.js ^4.5.1 - Interactive data visualization
- Used in
public/js/charts.jsto display charts inpublic/admin/dashboard.php
- Used in
- PHP 8.0 or higher
- PostgreSQL 12 or higher
- Composer (for PHP dependency management)
- Web server (Apache, Nginx, etc.)
-
Clone the repository
git clone https://github.com/marcs-sus/service-feedback-web.git cd service-feedback-web -
Install PHP dependencies
composer install
-
Install frontend dependencies
npm install
-
Configure environment variables
cp .env.example .env
Edit
.envwith your PostgreSQL credentials and application settings:DB_HOST=localhost DB_PORT=5432 DB_NAME=feedback_system DB_USER=postgres DB_PASSWORD=your_password DEFAULT_LOCALE=en_US -
Create the database
CREATE DATABASE feedback_system;
-
Load the database schema
psql -U postgres -d feedback_system -f sql/database.sql
-
Configure web server
- Point the document root to the
publicdirectory - Example for Apache:
DocumentRoot /path/to/service-feedback-web/public
- Point the document root to the
-
Set proper permissions
chmod 755 public chmod 644 public -R
-
Access the application
- Public form:
http://localhost/ - Admin panel:
http://localhost/admin/login_page.php
- Public form:
service-feedback-web/
├── public/ # Web-accessible files
│ ├── admin/ # Admin panel pages
│ ├── css/ # Stylesheets
│ ├── js/ # Frontend JavaScript
│ ├── assets/ # Icons and images
│ ├── index.php # Public evaluation form
│ └── thank.php # Completion page
├── src/ # Backend source code
│ ├── model/ # Data models (Device, Question, etc.)
│ ├── auth/ # Authentication logic
│ ├── crud_actions/ # Create, Read, Update, Delete operations
│ ├── locales/ # Translation files (JSON)
│ ├── db_conn.php # Singleton Database connection
│ ├── query.php # Query builder
│ └── session.php # Session management
├── sql/ # Database scripts
├── config.php # Application configuration
└── .env.example # Environment variables template
- Access the form at the root URL
- Select your language (top-right selector)
- Rate each question on a 0-10 scale
- Optionally provide additional feedback
- Submit the evaluation
- Log in at
/admin/login_page.php - Default credentials must be created in the database initially
- Manage sectors, devices, and questions
- View analytics and evaluation summaries
Edit .env to customize:
- Database connection details
- Application locale and timezone
- Session timeout
- Default device and sector IDs for form routing
This project is under the MIT License - See LICENSE file for details