Piero Toffanin 2016-09-13 16:54:37 -04:00
commit bf75d1f312
4 zmienionych plików z 115 dodań i 10 usunięć

Wyświetl plik

@ -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.

Wyświetl plik

@ -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'}

Wyświetl plik

@ -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: []

Wyświetl plik

@ -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