Code Monkey home page Code Monkey logo

maps's Introduction

Build and Test

maps

This is a VikeLabs project meant for navigating around UVic. It's structured as a multi-module gradle project with an api server and a web app (in api and app respectively). You can find out more about the details of those modules in their respective README.md's.

Running

You can run the backend with gradlew api:run and the frontend with gradlew app:dev (run also works but dev gives nice hot loading features). This should install dependencies you do not already have, so it may take a while first time!

Testing

You can test everything at once with gradlew test. Or individual projects with gradlew app:test or gradlew api:test. I recommend also running gradlew check before every push as it runs potentially more tests as well as linters and such but may be slower as a result.

Building

You can build both projects (producing an optimized app and a jar file) with gradlew build. Similar to testing and running, you can build the individual projects with gradlew app:build and gradlew api:build

Deploying

Two Dockerfiles (api.Dockerfile and app.Dockerfile) are tested every push. They run optimized builds and as a result are the best way to deploy the app in a long-running environment.

Database Setup

To set up the database you need docker installed.

There is a readonly user (which is all you should need) with username = uvic and password = uvic.

Linux

sudo docker build -t mapuvic -f db.Dockerfile .
sudo docker run mapuvic -p "5432:5432"   

Windows

# TODO

Troubleshooting

  • Make sure your current directory is the root of the project.
  • Make sure there is nothing else running on port 5432.

Some notes on gradle

You can of course run everything here without gradle, you may want to directly run npm commands for example. I would recommend against it as there is a curated dependency graph for tasks with gradle whereas for npm you are on your own. If any mentioned gradle commands fail for any reason beyond broken code, that is a bug and should be filed as such.

maps's People

Contributors

marcusdunn avatar minitech avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.