Skip to content

Adeyomola/verba

Repository files navigation

Verba

Introduction

Verba is a web application designed to facilitate the creation, management, and publishing of content. This documentation provides guidance on how to use and extend the platform, including installation instructions, API endpoints, and customization options.

Getting Started

To run Verba locally, follow these steps:

  1. Clone the repository from GitHub: verba.
  2. Install it using pip install ..
  3. Set the following environment variables accordingly:
    • DB_PASSWORD - Local Database Password
    • DB_USER - Local Database User
    • HOST - Local Database IP Address or Hostname
    • DATABASE - Database Name
    • SECRET_KEY - Secret Key for Session Encryption
    • TOTP_SECRET - Secret for TOTP Code Generation
  4. Initialize the database by running flask db-init.
  5. Start Verba with flask run.
  6. Access the platform in your web browser at http://127.0.0.1:5000.

Features

  • User authentication and authorization.
  • Content creation, editing, and deletion.
  • Image uploads and downloads.
  • Account Management
  • Categorization and tagging of content.
  • Role-based access control for users.
  • RESTful API for programmatic access to platform functionality.

Endpoints

User Management

  • POST /register: Create a new user.
  • GET /profile: Get current user profile.
  • POST /profile: Update current user profile.

Content Management

  • GET /post: Get a list of all contents.
  • GET /post/<post_id>: Get details of a specific content item.
  • POST /write: Create a new content item.
  • PUT /post/update/<post_id>: Update content information.
  • DELETE /post/delete/<post_id>: Delete a content item.

Authentication

  • POST /login: Authenticate a user and obtain a session token.
  • POST /logout: Log out the current user and invalidate the session token.

Customization

Verba can be customized in the following ways:

  • Customizing templates and stylesheets to match branding requirements.
  • Extending functionality by adding custom routes and views.
  • Integrating with third-party services such as email providers or analytics platforms.

Deployment

To deploy Verba to a production environment, follow these steps:

  1. Set up a web server with Python and a WSGI server such as Gunicorn.
  2. Configure the server to serve the Flask application.
  3. Set environment variables for database connection and secret key.
  4. Set up SSL/TLS certificates for secure communication.
  5. Monitor server logs and performance metrics for optimal operation.

Support

For questions, bug reports, or feature requests, please open an issue on the GitHub repository.