A bespoke CMS for the Landscape Architecture Film Series website
Note
ALL CONTENTS IN THIS REPO ARE FOR EDUCATIONAL PURPOSES ONLY.
LAFSCMS is the companion Content Management System (CMS) for the Landscape Architecture Film Series website. Currently in alpha, the plan is to merge the beta version with the film series repo.
Just like any real-world organization, student-run organizations such as a film series experience knowledge loss when their members graduate. Without a knowledge transfer process, this loss can lead to technical resources being underutilized or becoming inactive. While alternative resources and processes may exist, they either need to be created from scratch, requiring significant time and resources, or are imperfect substitutes. If existing resources work perfectly fine, why go through all that effort?
LAFSCMS was developed to address this issue of knowledge loss by providing a CMS with a user-friendly web interface to manage content and users efficiently.
More screenshots below.
- Description
- Features
- Project Structure
- Prerequisites
- Getting Started
- Author(s)
- Version History
- Future Work
- License
- Contributing
- Acknowledgments
- Screenshots
-
Content Management
- Complete film series lifecycle handling (Create, Edit, Publish, Unpublish)
- Flexible schedule management tools
- Integrated media asset handling
-
Security
- Secure authentication with role-based controls (Admin and Curator roles)
- Basic user privilege management
- Baseline database security implementation
-
Database Features
- Historical data preservation
- Searchable archive
-
Interface
- Instant content synchronization
- Multi-user collaboration support
lafs-cms/
│
├── app/
│ │
│ ├── blueprints/
│ │ │
│ │ ├── cms/
│ │ │ ├── __init__.py
│ │ │ ├── routes.py
│ │ │ ├── static/
│ │ │ └── templates/
│ │ │
│ │ └── main/
│ │ ├── __init__.py
│ │ ├── routes.py
│ │ ├── static/
│ │ └── templates/
│ │
│ ├── config/
│ │ └── __init__.py
│ │
│ ├── crud/
│ │ └── __init__.py
│ │
│ ├── data/
│ │ └── lafs.db
│ │
│ ├── helpers/
│ │ └── __init__.py
│ │
│ └── app.py
│
├── docs/
├── .gitignore
├── LICENSE
├── README.md
└── requirements.txt
- TBD
- See
requirements.txt
-
Clone the repository:
git clone https://github.com/ggeerraarrdd/lafs-cms.git
-
Navigate into the project directory:
cd lafs-cms # For example
-
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the dependencies:
pip install -r requirements.txt
-
Create an
.env
file and set the environment variables:Create a file named
.env
in theapp
directory of the project and add the following variables:SECRET_KEY=your_secret_key MAP_API_KEY=your_map_api_key DATABASE_NAME="lafs.db"
Replace
your_secret_key
(see #6 below) andyour_map_api_key
(see # 7 below) with your actual secret key and API key. -
Notes on Flask Secret Keys:
- TBD
-
Notes on Google Maps API Keys:
- TBD
- TBD
-
Go into the app directory and run the command:
flask run
-
Open the film series website:
Copy and open the URL displayed after 'Running on' in the terminal.
-
Access the CMS:
Add
/cms
at the end of the URL.
- TBD
Development of core features is ongoing.
- TBD
- Notion AI
- TBD