You can go to : LIVE Web Assistant (T4) App
- 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)
- @Yurii Skiter Team Lead, DevOps, QA
- @Dmytro Levoshko Scrum Master, Dev, QA
- @Valerii Sydorenko Dev, QA
- @Taras Spasibov Dev, QA
- @Dmytro Petrik Dev, QA
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
atDB_*
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
Download the code
$ # Get the code
$ git clone https://github.com/yuragoit/webAssistantTeam4.git
$ cd webAssistantTeam4
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/
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/
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
pagehttp://127.0.0.1:8000/register/
and create a new User - Access the
sign in
pagehttp://127.0.0.1:8000/login/
and authenticate
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
|
|-- ************************************************************************
This project is used by the following companies:
- LLC GoIT Lab