Skip to content

Project Structure

Tim Baccaert edited this page Jul 26, 2017 · 8 revisions

You can think of the backend project as 2 projects in one. It actually contains a part that does edge preprocessing and keeps the database up to date which is housed in the data folder. and the actual HTTP server and the algorithm which is contained in the server folder. There's also a tests folder but this is a bit out of date since the application has changed quite a bit since (it needs a refresh).

Data

data\
     | (this script updates the database)
     | update.sh
     |
     | (don't call this directly, does the actual legwork)
     | manage.py 
     |
     | (this contains connection details for the database)
     | manage_config.py
     |
     | (this contains the SQL schema which should be used to init the db)
     | lopeningent_schema.sql 
     |
     | (this directory has the POI sets, see the appropriate wiki page)
     | poisets\ 
     |
     | (this directory has some tools for poi set generation)
     | poisettools\ 
-----+

Server

server\
      | (folder containing the algorithm in Rust)
      | lib\
           | (folder containing the FFI interface)
           | interface\
           |
           | (folder containing the algorithm implementation)
           | graph\
      |----+
      |
      | (folder containing the Python HTTP server)
      | server\
               | (contains request handling code)
               | interface\
               |
               | (contains logic for controlling the algorithm)
               | logic\
               |
               | (contains a few model classes for edges, nodes & users)
               | model\
               |
               | (contains the route initialization script)
               | static\
               |
               | (contains the database interaction code)
               | database.py
               | 
               | (contains configuration settings)
               | config.py
               |
               | (contains the URL mapping)
               | urls.py
      |--------+
      |
      | (Django's server management script)
      | manage.py
      |
      | (file containing the Python dependencies)
      | requirements.txt
      |
      | (file containing the Rust dependencies)
      | Cargo.toml
------+

Partners

imec - IDLab - Ghent University

Clone this wiki locally