Home

Awesome

Zulu

License: MIT Backend unit tests

Table of contents:

About Zulu

Zulu - A Local exploration App

A social platform that allows viewing stories based on geographical location

Basic Structure

Deployment is automated using docker via docker-compose

Contributing

This project is under the MIT License.

Bugs & Issues

Feel free to report bugs and open issues in this repository.

Contributing code

Code contributions are welcomed!

First, read the guidelines at the Backend and Frontend sections in order to setup a development environment.

Afterwards:

  1. Fork this repository.
  2. Apply your code changes in your forked branch.
  3. Open a pull request.

Tracking tasks

  1. Tasks are tracked using GitHub issues
  2. We use GitHub Kanban board for planning - https://github.com/OSS-team-zulu/Zulu/projects/1

Team Info

Running Zulu

Developing Requirements

Getting Started

  1. Clone this Repository:

    git clone https://github.com/OSS-team-zulu/Zulu.git
    cd Zulu
    
  2. Create a new virtual environment with Python 3.8 and activate it. If you have virtualenvwrapper, simply run mkvirtualenv -p python3.8 zulu to create, and workon zulu to activate.

  3. install the dependencies via:

make install

Running the full stack with Docker:

make run_full

For reduilding the full stack, run:

make build_full

Once running, the web UI can be found at: http://localhost:8085. An autogenerated Backend API interface is at: http://localhost:8086/docs.

Running FE locally for development

make run_frontend
  1. The react site should be live at http://localhost:3000

  2. If live reloading is not working, you may need to install Chrome Allow CORS extension and enable it while developing.

  3. To integrate with the backend, make sure it is running at http://localhost:8342

Running BE locally for development

  1. Make sure you are in the right virtual environment, such that a python command calls Python 3.8, and the requirements were installed via make install
  2. Run:
make run_backend
  1. The server should be live at http://0.0.0.0:8342
  2. Auto-generated API documentation can be found at http://0.0.0.0:8342/docs

Loading sample data

In order to load a sample data from Israel:

  1. Make sure your API server and MongoDB are running
  2. Run:
    python contrib/load_points.py
    

Running tests

Run (warning: the tests would remove the DB data):

make run_tests