kopia lustrzana https://github.com/OpenDroneMap/WebODM
Merge branch 'master' of https://github.com/OpenDroneMap/WebODM
commit
bf75d1f312
64
README.md
64
README.md
|
@ -2,9 +2,69 @@
|
|||
|
||||
A web interface for [OpenDroneMap](https://github.com/OpenDroneMap/OpenDroneMap).
|
||||
|
||||
![Alt text](/screenshots/ui-mockup.png?raw=true "WebODM")
|
||||
|
||||
This is currently a work in progress! See the Roadmap below.
|
||||
|
||||
## Getting Started
|
||||
|
||||
The quickest way to get started is by using Docker.
|
||||
|
||||
* From the Docker Quickstart Terminal (Windows / OSX) or from the command line (Linux) type:
|
||||
```
|
||||
git clone https://github.com/OpenDroneMap/WebODM
|
||||
cd WebODM
|
||||
docker-compose up
|
||||
```
|
||||
|
||||
* If you're on Windows/OSX, find the IP of your Docker machine by running this command from your Docker Quickstart Terminal:
|
||||
|
||||
```
|
||||
docker-machine ip
|
||||
```
|
||||
|
||||
Linux users can connect to 127.0.0.1.
|
||||
|
||||
* Open a Web Browser to `http://<yourDockerMachineIp>:8000`
|
||||
* Log in with the default credentials: "admin:admin"
|
||||
|
||||
## Run it natively
|
||||
|
||||
If you want to run WebODM natively, you will need to install:
|
||||
* PostgreSQL (>= 9.5)
|
||||
* Python 2.7
|
||||
|
||||
Then these steps should be sufficient to get you up and running:
|
||||
|
||||
```
|
||||
git clone https://github.com/OpenDroneMap/WebODM
|
||||
```
|
||||
|
||||
Create a `WebODM\webodm\local_settings.py` file containing:
|
||||
|
||||
```
|
||||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.postgresql',
|
||||
'NAME': 'webodm_dev',
|
||||
'USER': 'postgres',
|
||||
'PASSWORD': 'postgres',
|
||||
'HOST': 'localhost',
|
||||
'PORT': '5432',
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Then:
|
||||
|
||||
```
|
||||
pip install -r requirements.txt
|
||||
chmod +x start.sh && ./start.sh
|
||||
```
|
||||
|
||||
## Roadmap
|
||||
- [X] User Registration / Authentication
|
||||
- [ ] UI mockup
|
||||
- [X] UI mockup
|
||||
- [ ] Task Processing
|
||||
- [ ] Model display (using Cesium/Leaflet) for both 2D and 3D outputs.
|
||||
- [ ] Cluster management and setup.
|
||||
|
@ -28,4 +88,4 @@ A web interface for [OpenDroneMap](https://github.com/OpenDroneMap/OpenDroneMap)
|
|||
|
||||
## Work in progress
|
||||
|
||||
We will add more information to this document soon (including information on how to get started).
|
||||
We will add more information to this document soon.
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
- model: app.project
|
||||
pk: 1
|
||||
fields: {owner: 2, name: Test_Project2, description: This is a test project, created_at: ! '2016-09-12
|
||||
10:08:39.045372+00:00'}
|
||||
- model: app.project
|
||||
pk: 2
|
||||
fields: {owner: 1, name: Test_Project1, description: This is a test project, created_at: ! '2016-09-12
|
||||
10:08:58.533742+00:00'}
|
||||
- model: app.project
|
||||
pk: 3
|
||||
fields: {owner: 1, name: Test_Project3, description: This is a test project, created_at: ! '2016-09-12
|
||||
10:11:31.357885+00:00'}
|
|
@ -0,0 +1,32 @@
|
|||
- model: auth.user
|
||||
pk: 1
|
||||
fields:
|
||||
# password: test1234
|
||||
password: pbkdf2_sha256$30000$pFwIz88hEEZ4$siNaZefZB3bb0DlemWNOkj6+tCq3I3LW+IgVw5VsRmE=
|
||||
last_login: null
|
||||
is_superuser: true
|
||||
username: testuser
|
||||
first_name: ''
|
||||
last_name: ''
|
||||
email: test@mail.com
|
||||
is_staff: true
|
||||
is_active: true
|
||||
date_joined: 2016-09-11 22:26:52.582858+00:00
|
||||
groups: []
|
||||
user_permissions: []
|
||||
- model: auth.user
|
||||
pk: 2
|
||||
fields:
|
||||
# password: test1234
|
||||
password: pbkdf2_sha256$30000$pFwIz88hEEZ4$siNaZefZB3bb0DlemWNOkj6+tCq3I3LW+IgVw5VsRmE=
|
||||
last_login: null
|
||||
is_superuser: true
|
||||
username: testuser2
|
||||
first_name: ''
|
||||
last_name: ''
|
||||
email: test2@mail.com
|
||||
is_staff: true
|
||||
is_active: true
|
||||
date_joined: 2016-09-11 22:26:52.582858+00:00
|
||||
groups: []
|
||||
user_permissions: []
|
17
app/tests.py
17
app/tests.py
|
@ -3,24 +3,25 @@ from django.test import TestCase
|
|||
from django.contrib.auth.models import User, Group
|
||||
from django.test import Client
|
||||
|
||||
from .models import Project,Task
|
||||
|
||||
# Create your tests here.
|
||||
|
||||
class TestUser(TestCase):
|
||||
|
||||
fixtures = ['test_users', ]
|
||||
|
||||
def setUp(self):
|
||||
self.credentials = {
|
||||
'username': 'testuser',
|
||||
'password': 'secret',
|
||||
'password': 'test1234',
|
||||
'email': 'test@mail.com'}
|
||||
self.u = User.objects.create_user(
|
||||
username=self.credentials['username'],
|
||||
email=self.credentials['email'],
|
||||
password=self.credentials['password'],
|
||||
is_superuser=True
|
||||
|
||||
)
|
||||
# Create a test Group
|
||||
my_group, created = Group.objects.get_or_create(name='test_group')
|
||||
self.u.groups.add(my_group)
|
||||
|
||||
# Add user to test Group
|
||||
User.objects.get(pk=1).groups.add(my_group)
|
||||
|
||||
def tearDown(self):
|
||||
pass
|
||||
|
|
Ładowanie…
Reference in New Issue