Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔱 TheFaction

A modern Django portfolio website for showcasing projects, skills, and information resources.

FeaturesInstallationSecurityStructureUsageTechnologiesDeployment

Django 5.2 Python 3.12 License: MIT


✨ Features

  • 📂 Project portfolio with categories and filtering
  • 🖼️ Image gallery support for each project
  • 🔄 GitHub repository integration
  • 💻 Technology showcase
  • 📚 Information resources section
  • 📱 Responsive design for all devices
  • 🔐 Admin dashboard for content management
  • 🛡️ Secure configuration management

🚀 Installation

  1. Clone the repository:

    git clone https://github.com/magealexstra/TheFaction.git
    cd TheFaction
  2. Create and activate a virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install dependencies:

    pip install -r requirements.txt
  4. Set up configuration:

    # Create a secrets.py file from the template
    cp thefaction/secrets_template.py thefaction/secrets.py
    
    # Edit the file with your secure settings
    nano thefaction/secrets.py  # or use your preferred editor
  5. Apply migrations:

    python manage.py migrate
  6. Create a superuser:

    python manage.py createsuperuser
  7. Run the development server:

    python manage.py runserver
  8. Access the site at http://127.0.0.1:8000

🔒 Security

The project uses a secrets.py file (ignored by Git) to store sensitive configuration:

Setting Type Description
🔑 Django Secret Key Used for cryptographic signing
🗄️ Database Credentials Username, password, host information
📧 Email Settings SMTP server details
🔐 API Keys GitHub and other external services

⚠️ Never commit your secrets.py file to version control! The repository includes a template (secrets_template.py) that you should copy and customize with your own values.

📁 Project Structure

TheFaction/
│
├── portfolio/                  # Main app
│   ├── models.py               # Database models
│   ├── views.py                # View functions
│   ├── github_utils.py         # GitHub API utilities
│   ├── templates/              # HTML templates
│   └── static/                 # CSS, JS, and static files
│
├── thefaction/                 # Project configuration
│   ├── settings.py             # Django settings
│   ├── secrets.py              # Sensitive configuration (not in repo)
│   ├── secrets_template.py     # Template for secrets.py
│   └── urls.py                 # URL routing
│
├── requirements.txt            # Project dependencies
├── .gitignore                  # Git ignore rules
└── README.md                   # Project documentation

📝 Usage

  • 🔐 Admin Panel:

    • Access at /admin/ to manage content
    • Login with superuser credentials
  • 👨‍💻 Content Management:

    • Add technologies, projects, and information resources
    • Upload images for projects
    • Link to GitHub repositories for code-based projects

🛠️ Technologies

Django HTML5 CSS3 JavaScript PostgreSQL SQLite

  • Backend: Django, Python
  • Frontend: HTML, CSS, JavaScript, Bootstrap
  • Database: SQLite (development), PostgreSQL (production)
  • API Integration: GitHub API

🌐 Deployment

For production deployment:

  1. Set up a PostgreSQL database
  2. Configure all sensitive settings in secrets.py
  3. Set DEBUG = False in production
  4. Use a production WSGI server (e.g., Gunicorn)
  5. Configure static files serving (e.g., Whitenoise or a reverse proxy)

Created with ❤️ by magealexstra

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages