{"id":28719936,"url":"https://github.com/lowleery/vwebx","last_synced_at":"2025-10-12T15:21:42.302Z","repository":{"id":298293819,"uuid":"999476919","full_name":"LowLeery/vwebx","owner":"LowLeery","description":"A modern, fast, and flexible web framework for the V programming language","archived":false,"fork":false,"pushed_at":"2025-06-10T10:43:36.000Z","size":31,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-10T11:28:11.905Z","etag":null,"topics":["api","framework","http","json","rest","server","sqlite","v","web"],"latest_commit_sha":null,"homepage":"","language":"V","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/LowLeery.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,"zenodo":null}},"created_at":"2025-06-10T10:02:37.000Z","updated_at":"2025-06-10T10:43:40.000Z","dependencies_parsed_at":"2025-06-10T11:28:48.905Z","dependency_job_id":"cff3d177-ed7d-43dd-b0ee-7212bdf441f8","html_url":"https://github.com/LowLeery/vwebx","commit_stats":null,"previous_names":["lowleery/vwebx"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/LowLeery/vwebx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LowLeery%2Fvwebx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LowLeery%2Fvwebx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LowLeery%2Fvwebx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LowLeery%2Fvwebx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LowLeery","download_url":"https://codeload.github.com/LowLeery/vwebx/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LowLeery%2Fvwebx/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259929972,"owners_count":22933536,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["api","framework","http","json","rest","server","sqlite","v","web"],"created_at":"2025-06-15T06:06:12.654Z","updated_at":"2025-10-12T15:21:37.238Z","avatar_url":"https://github.com/LowLeery.png","language":"V","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VWebX\r\n\r\n[![V Version](https://img.shields.io/badge/V-0.4.0-blue.svg)](https://vlang.io)\r\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\r\n[![Documentation](https://img.shields.io/badge/docs-latest-brightgreen.svg)](https://vwebx.github.io/docs)\r\n[![GitHub Stars](https://img.shields.io/github/stars/LowLeery/vwebx?style=social)](https://github.com/LowLeery/vwebx/stargazers)\r\n[![GitHub Forks](https://img.shields.io/github/forks/LowLeery/vwebx?style=social)](https://github.com/LowLeery/vwebx/network/members)\r\n[![GitHub Issues](https://img.shields.io/github/issues/LowLeery/vwebx)](https://github.com/LowLeery/vwebx/issues)\r\n\r\nA modern, fast, and flexible web framework for the V programming language.\r\n\r\n## Features\r\n\r\n- 🚀 **High Performance**: Built on V's fast HTTP server\r\n- 🔌 **Middleware Support**: Easy to extend with custom middleware\r\n- 📦 **JSON Processing**: Built-in JSON encoding/decoding\r\n- 🎨 **Template Engine**: Simple and powerful templating\r\n- 💾 **Database Integration**: SQLite support out of the box\r\n- 🔒 **Security**: Built-in security features\r\n- 📝 **Validation**: Request validation and sanitization\r\n- ⚙️ **Configuration**: Flexible configuration system\r\n- 🛠 **Developer Experience**: Clean API and helpful error messages\r\n\r\n## Quick Start\r\n\r\n### Installation\r\n\r\n```bash\r\nv install vwebx\r\n```\r\n\r\n### Basic Example\r\n\r\n```v\r\nimport vwebx\r\n\r\nstruct App {\r\n    vwebx.App\r\n}\r\n\r\nfn new_app() \u0026App {\r\n    mut app := \u0026App{\r\n        App: vwebx.new_app()\r\n    }\r\n    return app\r\n}\r\n\r\nfn (mut app App) index() vwebx.Result {\r\n    return app.json({\r\n        'message': 'Hello, VWebX!'\r\n    })\r\n}\r\n\r\nfn main() {\r\n    mut app := new_app()\r\n    app.get('/', app.index)\r\n    app.run()\r\n}\r\n```\r\n\r\n## Documentation\r\n\r\nFor detailed documentation, visit [https://lowleery.github.io/vwebx](https://lowleery.github.io/vwebx/#docs)\r\n\r\n### API Reference\r\n\r\n#### HTTP Methods\r\n\r\n```v\r\napp.get('/path', handler)\r\napp.post('/path', handler)\r\napp.put('/path', handler)\r\napp.delete('/path', handler)\r\n```\r\n\r\n#### Middleware\r\n\r\n```v\r\napp.use(middleware_fn)\r\napp.use_global(global_middleware_fn)\r\n```\r\n\r\n#### Response Helpers\r\n\r\n```v\r\nctx.text('Hello')      // Text response\r\nctx.json(data)         // JSON response\r\nctx.html('\u003ch1\u003eHi\u003c/h1\u003e') // HTML response\r\nctx.file('file.txt')   // File response\r\n```\r\n\r\n## Examples\r\n\r\nCheck out the [examples](examples/) directory for more usage examples:\r\n\r\n- [Hello World](examples/hello_world.v)\r\n- [REST API](examples/rest_api.v)\r\n- [Template Usage](examples/template.v)\r\n- [Database Integration](examples/database.v)\r\n\r\n## Contributing\r\n\r\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.\r\n\r\n1. Fork the repository\r\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\r\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\r\n4. Push to the branch (`git push origin feature/amazing-feature`)\r\n5. Open a Pull Request\r\n\r\n## Roadmap\r\n\r\n- [ ] Authentication \u0026 Authorization\r\n- [ ] WebSocket Support\r\n- [ ] PostgreSQL Support\r\n- [ ] Redis Integration\r\n- [ ] GraphQL Support\r\n- [ ] OpenAPI/Swagger Integration\r\n- [ ] Testing Framework\r\n- [ ] CLI Tool\r\n\r\n## Community\r\n\r\n- [Discord Server](https://discord.gg/vwebx)\r\n- [GitHub Discussions](https://github.com/vwebx/vwebx/discussions)\r\n- [Twitter](https://twitter.com/vwebx)\r\n\r\n## License\r\n\r\nVWebX is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n\r\n## Acknowledgments\r\n\r\n- [V Programming Language](https://vlang.io)\r\n- [All Contributors](https://github.com/vwebx/vwebx/graphs/contributors)\r\n\r\n---\r\n\r\nMade with ❤️ by the VWebX Contributors \r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flowleery%2Fvwebx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flowleery%2Fvwebx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flowleery%2Fvwebx/lists"}