Skip to main content

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.

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

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

ojsterminalbio-0.1.2.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ojsterminalbio-0.1.2-py3-none-any.whl (1.0 MB view details)

Uploaded Python 3

File details

Details for the file ojsterminalbio-0.1.2.tar.gz.

File metadata

  • Download URL: ojsterminalbio-0.1.2.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

Hashes for ojsterminalbio-0.1.2.tar.gz
Algorithm Hash digest
SHA256 5956639e56d3e916683df6f0ad01bd5d16c67f9e62c8f55f1dd0d0001c105f20
MD5 ff2422d4cdd8ccb39297e30b9a2c40f3
BLAKE2b-256 a12baf1c7e2c2e2354c98bbdd3a599b8f397a91c160fed5991c73331be2e182c

See more details on using hashes here.

File details

Details for the file ojsterminalbio-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: ojsterminalbio-0.1.2-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

Hashes for ojsterminalbio-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e09eed3e3164ffbe39e3128d754bfa02adaa5ec194c60246af9fdc498fad418f
MD5 6113eac30e3779b41ea82b5c4f3b6bb5
BLAKE2b-256 054b2157190a6110cd616e67a2171976c7e8f85b6feac4359cdba3b53ed35319

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page