Skip to content

yuragoit/webAssistantTeam4

Repository files navigation

[Web Assistant (T4)]

You can go to : LIVE Web Assistant (T4) App

Stack of technologies used

python django html5 css3 js postgresql nginx gunicorn git docker bash linux linux

About the project

  • Main idea of the project: creating a personal web-assistant with useful modules
  • Deadline: MVP - 10 days, Prod - 2 days, presentation - 1 day
  • Supported modules: authentication (AUTH functionality), contacts (CRUD, filter functionality for address book, validation), noteapp (CRUD, filter functionality for notes), news (news scraping module via spyder), storage (upload and download files to / from server, sorting by categories)

About the Team

Start the app in Docker

Step 01 - Download the code from the GH-repository (using GIT)

$ # Get the code
$ git clone https://github.com/yuragoit/webAssistantTeam4.git
$ cd webAssistantTeam4

Step 02 - Edit .env at DB_* settings (DB_ENGINE=...).

# Use True for development (switch to SQLite), False for production (switch to Postgres + Gunicorn + Nginx)
DEBUG=False

# Deployment SERVER address
DB_ENGINE=postgres          # Database Driver
DB_NAME=db                  # Database Name
DB_USERNAME=postgres        # Database User
DB_PASS=****************    # Strong Password 
DB_HOST=db                  # Database HOST, default is localhost 
DB_PORT=5432                # PostgreSQL port, default = 5432 

Step 03 - Start the APP in Docker

$ docker-compose up --build 

Step 04 - Access the T4 App

Visit http://localhost:5085 in your browser. The app should be up and running

Manual Build / Access

Download the code

$ # Get the code
$ git clone https://github.com/yuragoit/webAssistantTeam4.git
$ cd webAssistantTeam4

Set Up for Unix, MacOS

Install modules via venv

$ virtualenv env
$ source env/bin/activate
$ pip3 install -r requirements.txt

Set Up Database

$ python manage.py makemigrations
$ python manage.py migrate

Start the T4 App

$ python manage.py runserver

At this point, the app runs at http://127.0.0.1:8000/

Set Up for Windows

Install modules via venv (Windows)

$ virtualenv env
$ .\env\Scripts\activate
$ pip3 install -r requirements.txt

Set Up Database

$ python manage.py makemigrations
$ python manage.py migrate

Start the T4 App

$ python manage.py runserver

At this point, the app runs at http://127.0.0.1:8000/

Create Users

By default, the T4 App redirects guest users to authenticate. In order to access the private pages, follow this set up:

  • Start the T4 App (see above)
  • Access the registration page http://127.0.0.1:8000/register/ and create a new User
  • Access the sign in page http://127.0.0.1:8000/login/ and authenticate

Code-base structure

The project is coded using a simple and intuitive structure presented below:

< PROJECT ROOT >
   |
   |-- core/                               # Implements app configuration
   |    |-- settings.py                    # Defines Global Settings
   |    |-- wsgi.py                        # Start the app in production
   |    |-- urls.py                        # Define URLs served by all apps/nodes
   |
   |-- apps/
   |    |
   |    |-- home/                          # App that serve HTML files
   |    |    |-- views.py                  # Serve HTML pages for authenticated users
   |    |    |-- urls.py                   # Define some routes
   |    |    |-- *.py                      # All other py-files    
   |    |
   |    |-- authentication/                # Handles auth routes (login and register)
   |    |    |-- urls.py                   # Define authentication routes  
   |    |    |-- views.py                  # Handles login and registration  
   |    |    |-- forms.py                  # Define auth forms (login and register) 
   |    |
   |    |-- **************/                # Other target modules (contacts, noteapp, news, storage)
   |    |
   |    |-- static/
   |    |    |-- <css, JS, images>         # CSS-files, JS-files
   |    |
   |    |-- templates/                     # Templates used to render target pages
   |         |-- includes/                 # HTML chunks and components
   |         |    |-- navigation.html      # Top menu component
   |         |    |-- sidebar.html         # Sidebar component
   |         |    |-- footer.html          # App Footer
   |         |    |-- scripts.html         # Scripts common to all pages
   |         |
   |         |-- layouts/                  # Master pages
   |         |    |-- base-fullscreen.html # Used by Authentication pages
   |         |    |-- base.html            # Used by common pages
   |         |
   |         |-- accounts/                 # Authentication pages
   |         |    |-- login.html           # Login page
   |         |    |-- register.html        # Register page
   |         |
   |         |-- home/                     # UI Pages
   |              |-- index.html           # Index page
   |              |-- 403-page.html        # 403 page
   |              |-- 404-page.html        # 404 page
   |              |-- *.html               # All other pages
   |
   |-- requirements.txt                     # Development modules
   |
   |-- .env                                 # Inject Configuration via Environment
   |-- manage.py                            # Start the T4 app - Django default start script
   |
   |-- ************************************************************************

Screenshots

HomePage

License

MIT

Used By

This project is used by the following companies:

  • LLC GoIT Lab

About

Personal Assistant (address book, crawler, FMS)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •