You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An early aughts basic website turned modern dev playground for front-end and back-end skill-building
3
+
An early aughts basic website turned modern dev playground for front-end, back-end, DevOps and system architecture skill-building
4
4
5
5
## Table of Contents
6
6
@@ -30,7 +30,7 @@ An early aughts basic website turned modern dev playground for front-end and bac
30
30
31
31
## Description
32
32
33
-
In the early aughts, I created a website for the _Landscape Architecture Film Series_, a student-led initiative which I co-founded and co-curated for the [Department of Landscape Architecture](https://landarch.illinois.edu/) at the University of Illinois Urbana/Champaign.
33
+
In the early aughts, I created a website for the _Landscape Architecture Film Series_, a student-led initiative which I co-founded and co-curated for the [Department of Landscape Architecture](https://landarch.illinois.edu/) at the University of Illinois Urbana-Champaign.
34
34
35
35
Now some odd years later, I needed a website to use as a learning vehicle for back-end technical skill-building. But not wanting to spend anytime to ideate and design a new one from scratch, I turned to my old website. Its look and feel has aged well, I think, and indeed looks remarkably contemporary. For instance, if the current version of MoMA's film series [website](https://www.moma.org/calendar/film/) is anything to go by, bold color blocking isn't a dated design choice. In other words, I could focus on the back-end and spend little or no time on the front-end.
36
36
@@ -40,14 +40,18 @@ Tossed into this development playground, it has so far borne out the following:
40
40
41
41
A GitHub repository serving as the digital coding archive of the website, transformed as a dynamic web application.
42
42
43
-
What would otherwise exist as slowly disintegrating bits on a forgotten CD in a remote storage facility or as[fragmented snapshots](https://web.archive.org/web/20040827234527/http://www.rehearsal.uiuc.edu/projects/filmseries/) somewhere in the depths of the Internet Archive has been meticulously restored and recreated.
43
+
What would otherwise exist as slowly disintegrating bits on a forgotten CD in a remote storage facility or as[fragmented snapshots](https://web.archive.org/web/20040827234527/http://www.rehearsal.uiuc.edu/projects/filmseries/) somewhere in the depths of the Internet Archive has been meticulously restored and recreated.
44
44
45
-
No longer basic or static—but a dynamic web application with modern tooling such as Python, Flask, and SQLite. It even has a data model to speak of. It’s interesting to note that the original website predated almost all of the technology used.
45
+
No longer basic or static—but a dynamic web application with modern tooling such as Python, Flask, and SQLite. It even has a data model to speak of. It's interesting to note that the original website predated almost all of the technology used.
A companion Content Management System (CMS) for the web application (this repository; separate repo coming soon).
@@ -58,182 +62,48 @@ Tossed into this development playground, it has so far borne out the following:
58
62
59
63
What else might be concocted out from a decades-old website? Stay tuned!
60
64
61
-

65
+

66
+
67
+
> [!NOTE]
68
+
> The following sections are for the overall _LAFS-DEV_ project. For information specific to individual _LAFS-DEV_ projects, check out their respective repositories.
source venv/bin/activate # On Windows use `venv\Scripts\activate`
141
-
```
142
-
143
-
3. **Install the dependencies**
144
-
145
-
```bash
146
-
pip install --upgrade pip
147
-
pip install -r requirements.txt
148
-
```
94
+
* NA
149
95
150
96
### Configuration
151
97
152
-
1. **Create an `.env` file**
153
-
154
-
Place the file in the root directory and add the following as default:
155
-
156
-
```python
157
-
# Database Path
158
-
DATABASE_NAME='data/lafs.db'
159
-
160
-
# Database Connection Pool
161
-
POOL_SIZE=5
162
-
MAX_OVERFLOW=10
163
-
POOL_TIMEOUT=30
164
-
POOL_RECYCLE=-1
165
-
ECHO=False
166
-
167
-
# Database Retry Settings
168
-
MAX_RETRIES=3
169
-
BASE_DELAY=1
170
-
MAX_DELAY=10
171
-
172
-
# Flask Secret Key
173
-
SECRET_KEY='your_flask_secret_key'
174
-
175
-
# Google Maps API Key
176
-
MAP_API_KEY='your_map_api_key'
177
-
```
178
-
179
-
2. **Database**
180
-
181
-
```python
182
-
# Database Path
183
-
DATABASE_NAME='data/lafs.db'# Path to SQLite database file
184
-
185
-
# Database Connection Pool
186
-
POOL_SIZE=15 # Max number of persistent connections
187
-
MAX_OVERFLOW=5 # Max number of connections above POOL_SIZE
188
-
POOL_TIMEOUT=30 # Seconds to wait for available connection
189
-
POOL_RECYCLE=1800 # Seconds before connection is recycled
190
-
ECHO=False # Enable SQLAlchemy engine logging
191
-
192
-
# Database Retry Settings
193
-
MAX_RETRIES=3 # Max retry attempts for failed operations
194
-
BASE_DELAY=1 # Initial delay between retries in seconds
195
-
MAX_DELAY=10 # Max delay between retries in seconds
196
-
```
197
-
198
-
3. **Flask Secret Key**
199
-
200
-
```python
201
-
# Flask Secret Key
202
-
SECRET_KEY='your_flask_secret_key'
203
-
```
204
-
205
-
4. **Google Maps API Key**
206
-
207
-
```python
208
-
# Google Maps API Key
209
-
MAP_API_KEY='your_map_api_key'
210
-
```
211
-
212
-
An API Key is needed for the embedded map to work. Before you can create one, you will need to create a Google Cloud project, for which you need a Google Cloud account.
213
-
214
-
* [Set up a Google Cloud account](https://cloud.google.com)
215
-
* [Set up your Google Cloud project](https://developers.google.com/maps/documentation/javascript/cloud-setup)
216
-
* [Using API Keys](https://developers.google.com/maps/documentation/javascript/get-api-key)
98
+
* NA
217
99
218
100
## Usage
219
101
220
-
1. **Go into the app directory and run the command**
221
-
222
-
```bash
223
-
flask run
224
-
```
225
-
226
-
2. **Open the film series website**
227
-
228
-
Copy and open the URL displayed after 'Running on'in the terminal.
229
-
230
-
3. **Access the CMS**
231
-
232
-
Add `/cms` at the end of the URL.
102
+
* NA
233
103
234
104
## System Administration
235
105
236
-
*TBD
106
+
*NA
237
107
238
108
## Author(s)
239
109
@@ -243,38 +113,33 @@ lafs-dev/
243
113
244
114
### Release Notes
245
115
246
-
* See [https://github.com/ggeerraarrdd/lafs-cms/releases](https://github.com/ggeerraarrdd/lafs-cms/releases)
116
+
* See [https://github.com/ggeerraarrdd/lafs-dev/releases](https://github.com/ggeerraarrdd/lafs-dev/releases)
*This project is not accepting contributions at this time. It is intended solely for personal learning and exploration. However, feel free to clone the repository and use it as a learning resource.
263
133
264
134
## Acknowledgments
265
135
266
136
* Coeus
267
137
268
138
## Screenshots
269
139
270
-

271
-

272
-

273
-

274
-

275
-

276
-

140
+

141
+

277
142
278
143
## Frontispiece
279
144
280
-
* TBD
145
+
Utagawa, Kunisada. (1858). Craftsman (Ko) [Woodblock print triptych]. From the series The Four Classes (Shinokosho). Published by Daikokuya Heikichi (Shojudo).
0 commit comments