Frontend – Angular, ThreeJs & Angular Material. Backend – Django, Django Rest.
The website content is mostly stored as text in a PostgreSQL database. Access to this data is provided via endpoints implemented by a Django backend.
Most of the application logic resides in an Angular 2 single page application run in the browser.
When the site is first visited, the Angular 2 application is downloaded and runs to render the initial page. All the other page content is downloaded in the background so that clicks on internal links can be serviced by the SPA without further recourse to the backend.
Logged in users gain access to additional controls to edit the content of website and manage Registration.
There are also some text manipulation tools, implemented in Javascript which merely process text input in the local browser session.
Tested on Ubuntu 16.04 with anaconda python installed.
You need the following to run this app:
- Python 3.6 or higher (Python 2.x is not supported by Django 2.x)
- Pipenv
- Node v10.x or higher
- NPM v6.x or higher
- Get source code: git clone https://github.com/deepanshut041/zonal.git
- Open a terminal at the repo root for setting up backend server
mkvirtualenv zonal pip install -r requirements.txt cd backend python manage.py runserver
- Open new a terminal at the repo root for setting up frontend server.
cd client npm i -g @angular/cli npm i ng serve python manage.py runserver
Backend server starts at http://localhost:8000 and frontend server start at http://localhost:4200
More Photos
If you spot an error when trying to run the app, please file a bug in the GitHub issue tracker.
Please do not create issues or email me asking for support for your own projects. I cannot provide support for your custom applications.