Skip to content

jason-gerard/Cryptify

 
 

Repository files navigation

Cryptify

Getting Started

Prerequisites

Before you continue, ensure you have installed the following requirements:

The Cryptify project is setup using a monorepo, so a single repository, that contains all the different software services used in the project. This is done by using yarn workspaces and gives us the advantage of sharing code between our different services and using the same core infrastructure and configuration across all our services.

Setup

Note: On a Linux environment, run all docker and docker-compose commands as sudo

API

  1. Clone the repository
    $ git clone [email protected]:SOEN-490-Capstone/Cryptify.git
  2. Install all dependencies
    $ cd Cryptify
    $ yarn install
  3. Create the docker container and log output
    $ docker-compose up -d api
    $ docker-compose logs -f api
  4. (Optional) Connect to the database on localhost:5432 in pgAdmin

You can now access the server at https://localhost:3001

Ports:

By default, the client, server, database will be exposed on localhost:3000, localhost:3001, and localhost:5432, respectively. If you have a port conflict with either one, change their respective docker-compose entry ports as follows:

  • Client from 3000:19006 to <new-port>:19006
  • Server from 3001:80 to <new-port>:80
  • Database from 5432:5432 to <new-port>:5432.

Web Client

  1. Install all dependencies
    $ cd Cryptify
    $ yarn install
  2. Start the client, this will also bring up the server and database
    $ docker-compose up -d client
  3. (Optional) Log the output of the client
    $ docker-compose logs -f client

You can now access the client at https://localhost:3000

Linting and Formatting

Run linter and formatter with the following command in the root workspace Cryptify directory

$ yarn run lint:fix

Resetting the Database

If you run into issues with the database or need to reset it for any reason follow the steps below

  1. Delete the pgdata folder, this will delete the persistent docker postgresql volume
  2. Start up the server and database through docker
    $ docker-compose up -d api

Building for Production

  1. Build the docker image with the production target
    $ docker build --target production -t cryptify-api-prod -f ./packages/docker/api.Dockerfile .
    
  2. Create a container from the production image
    $ docker run -p 3001:80 cryptify-api-prod
    

Server

Style Guide

The server for this project uses the TypeScript language and follows the style guide defined by Google: https://google.github.io/styleguide/tsguide.html

Team

Name StudentId GitHub Username email
Jason Gerard 40079266 jason-gerard [email protected]
Andre Ibrahim 40132881 Andre-Ibrahim [email protected]
Domenic Seccareccia 40063021 domsec [email protected]
Alexandru Bara 40132235 alexbara2000 [email protected]
Pola Farid 40125357 PolaFarid [email protected]
Michael Warner 40124302 narroarrow [email protected]

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 85.5%
  • JavaScript 10.2%
  • Dockerfile 4.3%