{"id":23684681,"url":"https://github.com/exios66/freewill-html","last_synced_at":"2026-02-27T01:31:58.150Z","repository":{"id":270057605,"uuid":"909218399","full_name":"Exios66/FreeWill-HTML","owner":"Exios66","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-07T07:00:40.000Z","size":105,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-21T23:39:45.462Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://exios66.github.io/FreeWill-HTML/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Exios66.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-28T03:55:43.000Z","updated_at":"2025-01-07T06:48:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"0824a573-6080-46f9-bd09-7013c3bac026","html_url":"https://github.com/Exios66/FreeWill-HTML","commit_stats":null,"previous_names":["exios66/freewill-html"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Exios66/FreeWill-HTML","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Exios66%2FFreeWill-HTML","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Exios66%2FFreeWill-HTML/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Exios66%2FFreeWill-HTML/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Exios66%2FFreeWill-HTML/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Exios66","download_url":"https://codeload.github.com/Exios66/FreeWill-HTML/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Exios66%2FFreeWill-HTML/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29880731,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T23:51:21.483Z","status":"ssl_error","status_checked_at":"2026-02-26T23:50:46.793Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-29T20:47:59.362Z","updated_at":"2026-02-27T01:31:58.113Z","avatar_url":"https://github.com/Exios66.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FreeWill-HTML Survey Application\n\nA comprehensive web-based survey application for conducting free will belief assessments, built with FastAPI and SQLite.\n\n## Overview\n\nThis application provides a modern, responsive web interface for conducting surveys related to free will beliefs. It includes:\n- A dynamic HTML-based survey interface\n- RESTful API backend for data collection\n- Automatic data storage in both SQLite and CSV formats\n- Real-time statistics calculation\n- Cross-platform compatibility\n\n## Table of Contents\n- [Prerequisites](#prerequisites)\n- [Installation](#installation)\n- [Project Structure](#project-structure)\n- [Configuration](#configuration)\n- [Usage](#usage)\n- [API Documentation](#api-documentation)\n- [Data Storage](#data-storage)\n- [Development](#development)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Prerequisites\n\n- Python 3.8 or higher\n- pip (Python package manager)\n- Git (for version control)\n\n## Installation\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/yourusername/FreeWill-HTML.git\ncd FreeWill-HTML\n```\n\n2. Create and activate a virtual environment (recommended):\n```bash\npython -m venv venv\nsource venv/bin/activate  # On Windows, use: venv\\Scripts\\activate\n```\n\n3. Install dependencies:\n```bash\npip install -r requirements.txt\n```\n\n4. Initialize the database:\n```bash\npython init_db.py\n```\n\n## Project Structure\n\n```\nFreeWill-HTML/\n├── main.py              # FastAPI application server\n├── init_db.py           # Database initialization script\n├── index.html           # Main survey interface\n├── requirements.txt     # Python dependencies\n├── data/               # Data directory (created on init)\n│   ├── survey_responses.db  # SQLite database\n│   └── survey_responses.csv # CSV export of responses\n└── README.md           # This documentation\n```\n\n## Configuration\n\nThe application uses several configuration settings that can be modified:\n\n- Database location: `data/survey_responses.db`\n- CSV export location: `data/survey_responses.csv`\n- Server host: `0.0.0.0` (default)\n- Server port: `8000` (default)\n\n## Usage\n\n1. Start the server:\n```bash\npython main.py\n```\n\n2. Access the application:\n- Web interface: `http://localhost:8000`\n- API documentation: `http://localhost:8000/docs`\n\n## API Documentation\n\n### Endpoints\n\n#### POST /api/survey/submit\nSubmit a new survey response.\n\nRequest body:\n```json\n{\n    \"responses\": {\n        \"question_id\": integer_value,\n        ...\n    },\n    \"scores\": {\n        \"category\": float_value,\n        ...\n    },\n    \"metadata\": {\n        \"key\": value,\n        ...\n    }\n}\n```\n\n#### GET /api/survey/stats\nRetrieve survey statistics.\n\nResponse:\n```json\n{\n    \"total_responses\": integer,\n    \"average_scores\": {\n        \"category\": float,\n        ...\n    },\n    \"latest_response\": timestamp\n}\n```\n\n## Data Storage\n\n### Database Schema\n\nThe SQLite database (`data/survey_responses.db`) contains the following structure:\n\n```sql\nCREATE TABLE responses (\n    id INTEGER PRIMARY KEY AUTOINCREMENT,\n    timestamp TEXT NOT NULL,\n    responses TEXT NOT NULL,\n    scores TEXT NOT NULL,\n    metadata TEXT NOT NULL,\n    created_at DATETIME DEFAULT CURRENT_TIMESTAMP\n);\n```\n\n### CSV Export\n\nThe application automatically maintains a CSV export (`data/survey_responses.csv`) with the following columns:\n- id\n- timestamp\n- response_* (question responses)\n- score_* (category scores)\n- metadata_* (additional information)\n\n## Development\n\n### Adding New Questions\n\n1. Update the survey interface in `index.html`\n2. Ensure the question IDs match the expected format in the API\n3. Update any scoring calculations as needed\n\n### Modifying Data Collection\n\n1. Update the `SurveyData` model in `main.py`\n2. Modify the database schema in `init_db.py`\n3. Update the CSV export function in `main.py`\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Commit your changes\n4. Push to the branch\n5. Create a Pull Request\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n---\n\n## Future Expansion\n\n### Planned Features\n- User authentication system\n- Advanced analytics dashboard\n- Multiple survey templates\n- Internationalization support\n- Export to additional formats\n\n### Technical Roadmap\n1. Implement user authentication\n2. Add database migrations\n3. Create admin interface\n4. Enhance data visualization\n5. Add API rate limiting\n6. Implement caching\n\n### Integration Possibilities\n- LMS (Learning Management Systems)\n- Research platforms\n- Data analysis tools\n- External authentication providers\n\nFor more information or support, please open an issue on the GitHub repository.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexios66%2Ffreewill-html","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexios66%2Ffreewill-html","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexios66%2Ffreewill-html/lists"}