The Multi-User Blog site is a blogging website where people can write blogs about their favourite topics. Registered users can "Like" & "Comment" on the posts. The live site can be visited here: your-own-blog.appspot.com
- Authors and Contributors
- How to deploy the app?
- Directory Structure
- Resources Used
- Future Improvements
I, Abhishek Ghosh am the developer for this site. Also, there were major contributions from Ian Gristoi and Abigail Mathews. I thank them for their contributions to the site!
Follow the steps below to run the app :
- Download Google App Engine Console
- Clone the repository from https://github.com/ghoshabhi/Multi-User-Blog.git
- To run locally :
- Unzip the contents from the cloned directory and find the file "app.yaml".
- Open the app engine console and choose the option "Add an existing application" from the Menu bar.
- Navigate to the location where the repo was cloned.
- Click the "Run" button and navigate to the port mentioned for the app in the app engine console. If this is the first time you're running the app you will have the site open at : localhost:8080
- If you want to visit the live hosted app, visit this URL : your-own-blog.appspot.com
|__
|__ static
|__ login.css
|__ styles.css
|__ ...
|__ views
|__ master.html
|__ login.html
|__ home.html
|__ 404.html
|__ ...
|__ handlers
|__ __init__.py
|__ base_handler.py
|__ registration_handler.py
|__ new_post_handler.py
|__ ...
|__ models
|__ __init__.py
|__ post.py
|__ user.py
|__ ...
|__ utility
|__ __init__.py
|__ ...
|__ app.yaml
|__ favicon.ico
|__ index.yaml
|__ main.py
|__ README.md
- static : This folder contains all the CSS/JS/Image resources
- views : This folder contains all the template files.
- models: Contains schema definitaions for all the models
- handlers: Contains handlers to handle each individual route
- utility: Has helper functions and jinja filters
- app.yaml : Has all the app configurations
- favicon.ico : The website icon seen in the tab
- find_utf8.py : Utility script written to remove the UTF8 characters from a file
- index.yaml : Contains index definitions
- main.py : Houses the routing configurations and runs the webapp
- Python is used as the scripting language for the server
jinja2
, a templating library for Python & natively implemented in Google App Enginewebapp2
, GAE's main libraryndb
: The Google Datastore NDB Client Library allows App Engine Python apps to connect to Cloud Datastore.hmac
,hlib
to enable encryptionre
to enable Regular Expression check for email and password inputs- Front-end frameworks : HTML,CSS, jQuery, clippy.js, TinyMCE editor, toastr.js
- App Engine : Google App Engine (GAE), Google's platform as a service solution
- Use
ndb.BlobKeyProperty
for Photo uploads - Implement
tags
for each post - Show posts according to dates
- Filter by
tags
,dates
andauthor
Any suggestions to the site are welcomed. Please email me at [email protected] to share your suggestions