Giter VIP home page Giter VIP logo

ai-eng's Introduction

Conduit

This repository contains a full-stack TypeScript application consisting of a NestJS backend and an Angular frontend. You have two options for using this repositiry: Gitpo (recommended) or local (will require up to 60 minutes of set up time).

Running in Gitpod

You can sign up for a free Gitpod account here: https://www.gitpod.io/ - which will give you 50 free hours of using a Cloud Development Environment. After you signed up, you can open the following link to lanunch your environment: https://www.gitpod.io/#https://github.com/trilogy-group/ws-eng-conduit-ai-assessment/

After accessing the above link, your environment will eventually spin up and you'll have a browser-based VSCode at your disposal. Two terminal tasks are lanunched automatically:

  • "Seed": which waits for the backend to be available and runs the database seed.
  • "App": which installs dependencies and starts both backend and frontend.

In this environment, "localhost" refers to the remote machine. All the ports of this machine are exposed to a Workspace-specific URL, which is automatically opened if you press any localhost link from the Gitpod terminal, output, editor, etc. To open the UI, you can press the http://localhost:4200/ link in the App terminal (printed once the Angular app spins up). Alternatively, you can type gp url 4200 in a new Gitpod terminal to find the URL manually.

If you are inactive for a while, your Workspace will be "paused". All file changes that you have made to the repository will be saved. You can resume it by refreshing the link or by going here: https://gitpod.io/workspaces.

Running Locally

You need to install the following software:

  • Docker or a locally running MySQL installation
  • NodeJS 16+ (tested with v18.13.0)
  • Code Editor (VSCode is recommended)

Getting started:

  • Clone this Git repository locally.
  • Install the dependencies npx yarn install.
  • If you don't have a local MySQL installation, start one in docker: docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=conduit -e MYSQL_DATABASE=conduit -e MYSQL_USER=conduit -e MYSQL_PASSWORD=conduit mysql:8.1
  • Adjust the apps/backend/mikro-orm.config.ts with your MySQL credentials (they already match the ones from the docker command above).
  • Start the app (both backend and frontend at once): npm start.
  • After the backend successfully starts, in a new terminal npm run seed to seed the database with some initial data.

Other Hints

Exporting your Changes

Please make sure that all your changes are committed locally and then export a git patch of your changes.

You can do this by running the ./create-patch.sh script provided in this repository. If that doesn't work, you can use the following script:

git format-patch origin/master --stdout > submission.patch

This will create a patch in the current folder. You can open it to ensure that all your changes are present (it's just a text file). On Gitpod, you can right click to download it. Then please share it as part of your submission.

ai-eng's People

Contributors

xcellect avatar

Watchers

 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.