{"id":25310206,"url":"https://github.com/sochologa/vicioperpetuo","last_synced_at":"2026-01-19T06:33:30.897Z","repository":{"id":65365050,"uuid":"572154092","full_name":"sochologa/vicioperpetuo","owner":"sochologa","description":"Open Source Library Store with Yape, Plin, Bitcoin payment methods.","archived":false,"fork":false,"pushed_at":"2024-12-26T19:57:25.000Z","size":110833,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-23T01:45:26.965Z","etag":null,"topics":["book","css3","html5","javascript","library","ruby","rubyonrails","store","virtual"],"latest_commit_sha":null,"homepage":"https://vicioperpetuo.com/","language":"HTML","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sochologa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"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},"funding":{"github":"fabohax","bitcoin":"bc1q9eqgf6dsrllvj048l63gvjd4qpj5ulp0hxkdfl"}},"created_at":"2022-11-29T17:04:17.000Z","updated_at":"2025-08-10T20:01:10.000Z","dependencies_parsed_at":"2025-04-07T11:31:36.636Z","dependency_job_id":null,"html_url":"https://github.com/sochologa/vicioperpetuo","commit_stats":{"total_commits":104,"total_committers":1,"mean_commits":104.0,"dds":0.0,"last_synced_commit":"8da8e9afe50ba94ebe4fbd467bc10b98927676df"},"previous_names":["sochologa/vicioperpetuo"],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/sochologa/vicioperpetuo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sochologa%2Fvicioperpetuo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sochologa%2Fvicioperpetuo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sochologa%2Fvicioperpetuo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sochologa%2Fvicioperpetuo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sochologa","download_url":"https://codeload.github.com/sochologa/vicioperpetuo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sochologa%2Fvicioperpetuo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28562405,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T03:31:16.861Z","status":"ssl_error","status_checked_at":"2026-01-19T03:31:15.069Z","response_time":67,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["book","css3","html5","javascript","library","ruby","rubyonrails","store","virtual"],"created_at":"2025-02-13T13:52:24.758Z","updated_at":"2026-01-19T06:33:30.878Z","avatar_url":"https://github.com/sochologa.png","language":"HTML","funding_links":["https://github.com/sponsors/fabohax","bc1q9eqgf6dsrllvj048l63gvjd4qpj5ulp0hxkdfl"],"categories":[],"sub_categories":[],"readme":"```\n    ╔════════════╗    ╔════════════╗\n    ║ ▓▓▓▓▓▓▓▓▓▓ ║    ║ El libro   ║\n    ║ ▓▓▓▓▓▓▓▓▓▓ ║    ║ es el arma ║\n    ║ ▓▓▓▓▓▓▓▓▓▓ ║    ║ más eficaz ║\n    ║ ▓▓▓▓▓▓▓▓▓▓ ║    ║ para el    ║\n    ║ ▓▓▓▓▓▓▓▓▓▓ ║    ║ progreso   ║\n    ║ ▓▓▓▓▓▓▓▓▓▓ ║    ║            ║\n    ║ ▓▓▓▓▓▓▓▓▓▓ ║    ║   José     ║\n    ║ ▓▓▓▓▓▓▓▓▓▓ ║    ║  Carlos    ║\n    ║ ▓▓▓▓▓▓▓▓▓▓ ║    ║ Mariátegui ║\n    ╚════════════╝    ╚════════════╝\n```\n\n# Vicio Perpetuo Editorial Website\n\n## About the Project\n\nVicio Perpetuo is an independent Peruvian publishing house celebrating literature in all its forms. We blend traditional publishing with cutting-edge digital solutions, creating a unique space for contemporary Peruvian literature.\n\n## Key Features\n\nOur platform offers a comprehensive suite of features designed to serve the literary community:\n\n- Digital Bookstore: Complete catalog of contemporary Peruvian literature\n- Multi-Currency Support: Traditional and cryptocurrency payments\n- Editorial Blog: Literary discussions and author spotlights\n- Event Platform: Book launches and cultural events\n- Responsive Design: Optimized for all devices\n\n## Technology Stack\n\n### Frontend\n```javascript\n// Main application configuration\nconst appConfig = {\n  framework: 'React',\n  styling: 'Tailwind CSS',\n  stateManagement: 'Redux',\n  apiIntegration: 'Axios'\n};\n```\n\n### Backend\n```javascript\n// Server setup with Express\nimport express from 'express';\nimport cors from 'cors';\nimport { bookRoutes, paymentRoutes, blogRoutes } from './routes';\n\nconst app = express();\n\napp.use(cors());\napp.use(express.json());\n\n// API Routes\napp.use('/api/books', bookRoutes);\napp.use('/api/payments', paymentRoutes);\napp.use('/api/blog', blogRoutes);\n\nconst PORT = process.env.PORT || 3000;\napp.listen(PORT, () =\u003e console.log(`Server running on port ${PORT}`));\n```\n\n## Getting Started\n\n### Prerequisites\n\n```bash\nnode.js \u003e= 14.0.0\nnpm \u003e= 6.14.0\n```\n\n### Installation\n\n```bash\n# Clone repository\ngit clone https://github.com/your-username/vicioperpetuo-website.git\n\n# Install dependencies\ncd vicioperpetuo-website\nnpm install\n\n# Configure environment\ncp .env.example .env\n\n# Start development server\nnpm run dev\n```\n\n## Feature Implementation Examples\n\n### Cryptocurrency Payment Integration\n\n```javascript\n// Crypto payment service implementation\nimport Web3 from 'web3';\nimport { ethers } from 'ethers';\n\nclass CryptoPaymentService {\n  constructor() {\n    this.web3 = new Web3(Web3.givenProvider);\n  }\n\n  async processPayment(orderDetails) {\n    try {\n      const { amount, currency, walletAddress } = orderDetails;\n      // Payment processing logic\n      const transaction = await this.web3.eth.sendTransaction({\n        to: walletAddress,\n        value: this.web3.utils.toWei(amount.toString(), 'ether')\n      });\n      \n      return {\n        success: true,\n        transactionHash: transaction.hash\n      };\n    } catch (error) {\n      console.error('Payment processing error:', error);\n      throw new Error('Payment failed');\n    }\n  }\n}\n```\n\n### Mobile Payment Integration (Yape/Plin)\n\n```javascript\n// Mobile payment controller\nclass MobilePaymentController {\n  async processYapePayment(req, res) {\n    try {\n      const { phoneNumber, amount, orderReference } = req.body;\n      \n      const paymentResult = await YapeAPI.createPayment({\n        phone: phoneNumber,\n        amount: amount,\n        reference: orderReference\n      });\n      \n      return res.status(200).json({\n        success: true,\n        paymentId: paymentResult.id\n      });\n    } catch (error) {\n      return res.status(400).json({\n        success: false,\n        error: error.message\n      });\n    }\n  }\n}\n```\n\n### Book Catalog Management\n\n```javascript\n// Book model and controller\nimport mongoose from 'mongoose';\n\nconst BookSchema = new mongoose.Schema({\n  title: { type: String, required: true },\n  author: { type: String, required: true },\n  genre: { type: String, required: true },\n  price: { type: Number, required: true },\n  isbn: { type: String, unique: true },\n  cryptoPrice: { type: Number },\n  stockStatus: { type: String, enum: ['available', 'preorder', 'outOfStock'] }\n});\n\n// Book controller methods\nclass BookController {\n  async getAllBooks(req, res) {\n    try {\n      const books = await Book.find({});\n      return res.status(200).json(books);\n    } catch (error) {\n      return res.status(500).json({ error: error.message });\n    }\n  }\n}\n```\n\n## Development Workflow\n\n```mermaid\ngraph TD\n    A[Development] --\u003e|Pull Request| B[Code Review]\n    B --\u003e|Approved| C[Staging]\n    C --\u003e|Testing| D[Production]\n    B --\u003e|Changes Requested| A\n```\n\n## Project Structure\n\n```\nvicioperpetuo-website/\n├── client/                 # Frontend React application\n│   ├── src/\n│   │   ├── components/    # Reusable UI components\n│   │   ├── pages/        # Page components\n│   │   ├── services/     # API services\n│   │   └── styles/       # CSS/Tailwind styles\n├── server/                # Backend Node.js/Express application\n│   ├── controllers/      # Route controllers\n│   ├── models/          # Database models\n│   ├── routes/         # API routes\n│   └── services/      # Business logic\n└── shared/            # Shared utilities and types\n```\n\n## Contributing\n\nWe welcome contributions! Please check our contribution guidelines and follow these steps:\n\n1. Fork the repository\n2. Create your feature branch\n3. Commit your changes\n4. Push to the branch\n5. Open a Pull Request\n\n## Contact\n\n- Website: [www.vicioperpetuo.com](http://www.vicioperpetuo.com)\n- Email: info@vicioperpetuo.com\n- Twitter: [@VicioPerpetuo](https://twitter.com/VicioPerpetuo)\n- Facebook: [VicioPerpetuoEditorial](https://facebook.com/VicioPerpetuoEditorial)\n- Instagram: [@edicionesvicioperpetuo](https://instagram.com/edicionesvicioperpetuo)\n\n## Acknowledgments\n\nWe extend our gratitude to:\n- Our talented authors\n- The vibrant Peruvian literary community\n- Open source contributors\n- Our dedicated readers\n\n---\n\n\u003cp align=\"center\"\u003e\nCrafted with ❤️ and {code} by Brutales XYZ\n\u003cbr\u003e\n© 2024 Brutales XYZ - Where Digital Art Meets Literacy Revoluction✨\n\u003cbr\u003e\nFounder: Mari Lin\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsochologa%2Fvicioperpetuo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsochologa%2Fvicioperpetuo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsochologa%2Fvicioperpetuo/lists"}