Academic portfolio CMS backend - pip-installable FastAPI library
Project description
ojsTerminalBio
A cyberpunk-themed academic portfolio CMS built with FastAPI. Create stunning terminal-style portfolio websites with a powerful admin interface.
โจ Features
- ๐จ Cyberpunk terminal-style UI with matrix rain effect
- ๐ Admin dashboard for managing all content
- ๐ Dynamic page editor with drag-and-drop blocks
- ๐ Publications, Projects, Students, Courses management
- ๐ Education & Experience sections
- ๐ Dynamic external links (Google Scholar, DBLP, etc.)
- ๐ Light/Dark theme toggle
- ๐ฑ Fully responsive design
๐ Quick Start
Installation
pip install ojsterminalbio
Initialize Database
ojsterminalbio init-db
Run Server
ojsterminalbio runserver
Access at: http://localhost:7777
Default Admin Login:
- Email:
admin@example.com - Password:
admin123
โ ๏ธ Change these credentials immediately in production!
โ๏ธ Configuration
Set environment variables or create a .env file:
# Required for production
export OJSTB_SECRET_KEY="your-secure-random-key"
export OJSTB_DEFAULT_ADMIN_EMAIL="your@email.com"
export OJSTB_DEFAULT_ADMIN_PASSWORD="secure-password"
# Optional
export OJSTB_DATABASE_URL="sqlite:///./ojsterminalbio.db"
export OJSTB_DEBUG="false"
๐ฅ๏ธ CLI Commands
| Command | Description |
|---|---|
ojsterminalbio init-db |
Initialize/reset database |
ojsterminalbio runserver |
Start development server |
ojsterminalbio runserver --port 8000 |
Custom port |
ojsterminalbio runserver --host 0.0.0.0 |
Allow external access |
๐ Project Structure
After installation, the package includes:
ojsterminalbio/
โโโ templates/ # Jinja2 HTML templates
โ โโโ admin/ # Admin panel templates
โ โโโ public/ # Public-facing templates
โโโ static/ # CSS, JS, images
โ โโโ css/
โ โโโ tailwind.css
โโโ models/ # SQLAlchemy models
โโโ routers/ # FastAPI routes
โโโ cli.py # Command-line interface
๐จ Customization
Theme Colors
In admin panel: Settings โ Theme Primary Color
- Cyan (default)
- Pink
- Amber
- Green
Matrix Effect
Customize via admin:
- Enable/disable matrix rain
- Change characters (supports Unicode/Meitei script)
- Adjust opacity and speed
๐ง Development
Clone & Setup
git clone https://github.com/Okramjimmy/ojsTerminalBio.git
cd ojsTerminalBio
python -m venv venv
source venv/bin/activate
pip install -e .
Run locally
ojsterminalbio init-db
ojsterminalbio runserver
๐ฆ Building from Source
pip install build
python -m build
pip install dist/ojsterminalbio-*.whl
๐ค Contributing
- Fork the repository
- Create feature branch (
git checkout -b feature/amazing) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing) - Open a Pull Request
๐ License
MIT License - see LICENSE file.
๐ค Author
Okram Jimmy Singh
- Email: jimmy.lamzing@gmail.com
๐ Acknowledgments
- FastAPI framework
- Tailwind CSS
- Jinja2 templating
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ojsterminalbio-0.1.5.tar.gz.
File metadata
- Download URL: ojsterminalbio-0.1.5.tar.gz
- Upload date:
- Size: 1.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d23f7ad3111f9807c1e9912a22bb945ffe8f1c1cd68680abe8f2e866decd6d9
|
|
| MD5 |
213495692d293923601da4071bea967e
|
|
| BLAKE2b-256 |
a12dd6d36338a3654572cd1e7460216da3cd7252c22c288f0d35ca1191292a0e
|
File details
Details for the file ojsterminalbio-0.1.5-py3-none-any.whl.
File metadata
- Download URL: ojsterminalbio-0.1.5-py3-none-any.whl
- Upload date:
- Size: 1.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37f476f7e0ee4a113aa9260e9db193e392c3c029076fc6c0e9a8b02828a353b0
|
|
| MD5 |
82e937c5d5d79df7880ebefa265872dd
|
|
| BLAKE2b-256 |
fc94f17493bf10c41abe587fd2739e622acd30dd2c8c4555e3013e00593f2258
|