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.
Note: On a Linux environment, run all docker and docker-compose commands as sudo
- Clone the repository
$ git clone [email protected]:SOEN-490-Capstone/Cryptify.git
- Install all dependencies
$ cd Cryptify $ yarn install
- Create the docker container and log output
$ docker-compose up -d api $ docker-compose logs -f api
- (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
, andlocalhost: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
.
- Install all dependencies
$ cd Cryptify $ yarn install
- Start the client, this will also bring up the server and database
$ docker-compose up -d client
- (Optional) Log the output of the client
$ docker-compose logs -f client
You can now access the client at https://localhost:3000
Run linter and formatter with the following command in the root workspace Cryptify
directory
$ yarn run lint:fix
If you run into issues with the database or need to reset it for any reason follow the steps below
- Delete the
pgdata
folder, this will delete the persistent docker postgresql volume - Start up the server and database through docker
$ docker-compose up -d api
- Build the docker image with the production target
$ docker build --target production -t cryptify-api-prod -f ./packages/docker/api.Dockerfile .
- Create a container from the production image
$ docker run -p 3001:80 cryptify-api-prod
The server for this project uses the TypeScript language and follows the style guide defined by Google: https://google.github.io/styleguide/tsguide.html
Name | StudentId | GitHub Username | |
---|---|---|---|
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] |