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.
To run Verba locally, follow these steps:
- Clone the repository from GitHub: verba.
- Install it using
pip install .
. - Set the following environment variables accordingly:
DB_PASSWORD
- Local Database PasswordDB_USER
- Local Database UserHOST
- Local Database IP Address or HostnameDATABASE
- Database NameSECRET_KEY
- Secret Key for Session EncryptionTOTP_SECRET
- Secret for TOTP Code Generation
- Initialize the database by running
flask db-init
. - Start Verba with
flask run
. - Access the platform in your web browser at
http://127.0.0.1:5000
.
- 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.
POST /register
: Create a new user.GET /profile
: Get current user profile.POST /profile
: Update current user profile.
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.
POST /login
: Authenticate a user and obtain a session token.POST /logout
: Log out the current user and invalidate the session token.
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.
To deploy Verba to a production environment, follow these steps:
- Set up a web server with Python and a WSGI server such as Gunicorn.
- Configure the server to serve the Flask application.
- Set environment variables for database connection and secret key.
- Set up SSL/TLS certificates for secure communication.
- Monitor server logs and performance metrics for optimal operation.
For questions, bug reports, or feature requests, please open an issue on the GitHub repository.