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
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)
| File | Size | Uploaded | |
|---|---|---|---|
| ojsterminalbio-0.1.6.tar.gz | 1.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|