Skip to main content

ojsTerminalBio

A cyberpunk-themed academic portfolio CMS built with FastAPI. Create stunning terminal-style portfolio websites with a powerful admin interface.

Python License PyPI

✨ 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

  1. Fork the repository
  2. Create feature branch (git checkout -b feature/amazing)
  3. Commit changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin feature/amazing)
  5. Open a Pull Request

📄 License

MIT License - see LICENSE file.


👤 Author

Okram Jimmy Singh


🙏 Acknowledgments

  • FastAPI framework
  • Tailwind CSS
  • Jinja2 templating

Metadata

Release files for ojsTerminalBio 0.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ojsTerminalBio 0.1.6
File Size Uploaded
ojsterminalbio-0.1.6.tar.gz 1.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for ojsTerminalBio 0.1.6
File Interpreter ABI Platform
ojsterminalbio-0.1.6-py3-none-any.whl Python 3 none any Details

Total release size: 2.2 MB

Release files / ojsterminalbio-0.1.6.tar.gz

Download URL ojsterminalbio-0.1.6.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
563c834d124e52cb3c055b80d21cfae8d2350ed5a74b3df258c9d854ca98ebc0
BLAKE2b-256 checksum
How to use checksums
64bd24ea58eb56896c2d9fc7f84673afed97bb9e7af4627c54a431813d6342c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.9

Release files / ojsterminalbio-0.1.6-py3-none-any.whl

Download URL ojsterminalbio-0.1.6-py3-none-any.whl
Size 1.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
18d013a5b19649b8312e41ece3fc770e0e2af454adfad5cd1b61e1529f3bc6ac
BLAKE2b-256 checksum
How to use checksums
8952227e16e5efc7e52862ccb2d15717898cc77954e3a2ec8e481ef6dd0ac45a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.9

Release history Release notifications | RSS feed

This release

0.1.6 This release

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page