Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feedback #1

Open
wants to merge 290 commits into
base: feedback
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
290 commits
Select commit Hold shift + click to select a range
9f89d7c
Update README.md
HaHammad May 30, 2024
c6e72fd
Update README.md
HaHammad May 30, 2024
21faca2
Update README.md
HaHammad May 30, 2024
a5f9245
Update README.md
joshuajyu May 30, 2024
9b82a98
Updated .gitignore to ignore node_modules and package-lock.json files
joshuajyu May 30, 2024
de8ee8b
Merge branch 'main' of https://github.com/UofT-UTSC-CS-sandbox/final-…
joshuajyu May 30, 2024
8b53da0
not needed
acca12 Jun 1, 2024
3891474
mongosetup
acca12 Jun 1, 2024
5ffaf6e
Merge pull request #3 from UofT-UTSC-CS-sandbox/developer
acca-12 Jun 1, 2024
26292e9
setup
acca12 Jun 1, 2024
0160406
Merge pull request #4 from UofT-UTSC-CS-sandbox/developer
acca-12 Jun 1, 2024
74022ca
Create install.md
acca-12 Jun 1, 2024
ccbbd7f
feat: Added interation-01.plan.md
Jun 4, 2024
b016012
Refactor
joshuajyu Jun 7, 2024
8c3f0f0
Update README.md
joshuajyu Jun 7, 2024
1a6e96f
Update README.md
joshuajyu Jun 7, 2024
cd5ba4c
Updated README.md
joshuajyu Jun 7, 2024
49970a5
fixed missing json files
acca12 Jun 7, 2024
bc41fee
Merge branch 'login' of https://github.com/UofT-UTSC-CS-sandbox/final…
joshuajyu Jun 7, 2024
f810122
Merge pull request #5 from UofT-UTSC-CS-sandbox/developer
acca-12 Jun 7, 2024
8f39a6a
update README.md
joshuajyu Jun 8, 2024
455dbcc
improved server npm command
SohilChanana Jun 8, 2024
1681f89
Login page HTML, CSS
KatH121 Jun 8, 2024
cb03e4d
Create sprint0_mark.md
shang8024 Jun 10, 2024
ce264f8
Corrected README.md file instructions
SohilChanana Jun 10, 2024
4c56b04
Merge branch 'login' of https://github.com/UofT-UTSC-CS-sandbox/final…
SohilChanana Jun 10, 2024
7524456
Added login page in React
KatH121 Jun 11, 2024
2407459
Reorganized files
SohilChanana Jun 11, 2024
070d46c
Modified login with tailwind styling, added signin styling
SohilChanana Jun 12, 2024
8d0191e
Additional tailwind formatting
SohilChanana Jun 12, 2024
8989649
Routes created between Login and Signup. Mild error checking in Signu…
KatH121 Jun 13, 2024
bcbb381
Bug fix on routes
KatH121 Jun 13, 2024
9dea1ad
Documentation changes
joshuajyu Jun 13, 2024
b3273cc
Merge branch 'login' of https://github.com/UofT-UTSC-CS-sandbox/final…
joshuajyu Jun 13, 2024
f2c16c5
Added footer
SohilChanana Jun 13, 2024
9abf749
minor fix
SohilChanana Jun 13, 2024
fd98d6b
Merge branch 'login' of https://github.com/UofT-UTSC-CS-sandbox/final…
SohilChanana Jun 13, 2024
156b30b
Rebase login branch on top of develop (Gitflow)
joshuajyu Jun 7, 2024
d66755d
Update README.md
joshuajyu Jun 7, 2024
d258996
update README.md
joshuajyu Jun 8, 2024
651923d
improved server npm command
SohilChanana Jun 8, 2024
4c62965
Corrected README.md file instructions
SohilChanana Jun 10, 2024
92863ec
Login page HTML, CSS
KatH121 Jun 8, 2024
f22ebc8
Added login page in React
KatH121 Jun 11, 2024
e4e1b1e
Documentation changes
joshuajyu Jun 13, 2024
9bacf83
Reorganized files
SohilChanana Jun 11, 2024
6adfc3e
Modified login with tailwind styling, added signin styling
SohilChanana Jun 12, 2024
f4402ea
Additional tailwind formatting
SohilChanana Jun 12, 2024
32d2e0a
Routes created between Login and Signup. Mild error checking in Signu…
KatH121 Jun 13, 2024
1374873
Bug fix on routes
KatH121 Jun 13, 2024
7430342
Merge branch 'login' of https://github.com/UofT-UTSC-CS-sandbox/final…
joshuajyu Jun 13, 2024
cbfdaf3
Init commit
joshuajyu Jun 13, 2024
5d3b178
Created NavBar and initialized the Home page and AccountInfo page
KatH121 Jun 13, 2024
e012ce7
Very basic backend support for signup page
joshuajyu Jun 14, 2024
0c33f5f
Update README.md
joshuajyu Jun 14, 2024
68c79d8
Documentation
joshuajyu Jun 14, 2024
9ff303f
Added footer component
SohilChanana Jun 14, 2024
7310172
feat: extended User model, added contract model, for later use
Jun 14, 2024
eff01a2
Merge branch 'login' of https://github.com/UofT-UTSC-CS-sandbox/final…
SohilChanana Jun 14, 2024
ab7996c
Merge branch 'login' of https://github.com/UofT-UTSC-CS-sandbox/final…
Jun 14, 2024
ace7be4
Added firstName and lastName fields to signup
SohilChanana Jun 14, 2024
74df232
About Us section added, minor design changes
SohilChanana Jun 15, 2024
ff7f5f9
Login now working (still need to figure out cookies)
joshuajyu Jun 15, 2024
652fd05
Some changes to login
joshuajyu Jun 16, 2024
f79da53
Quick fix for register
joshuajyu Jun 16, 2024
711783d
feat: Added the needed md files for sprint1, and did some edits to se…
Jun 16, 2024
abb223c
quick fix
joshuajyu Jun 16, 2024
76d7ecd
Merge branch 'login' of https://github.com/UofT-UTSC-CS-sandbox/final…
joshuajyu Jun 16, 2024
a03138c
Added account page and name change form
SohilChanana Jun 16, 2024
1f63c4a
fixing my mistakes lol
Jun 16, 2024
e9e2cba
Merge branch 'login' of https://github.com/UofT-UTSC-CS-sandbox/final…
Jun 16, 2024
bc05218
Co-authored-by: HaHammad <[email protected]>
joshuajyu Jun 16, 2024
5f948f9
Added 404 page
SohilChanana Jun 16, 2024
8832906
added rpm template
Jun 16, 2024
2823847
fixed RPM template
Jun 16, 2024
a4767f2
view contract history
acca12 Jun 16, 2024
8353481
Cookies now work, need to set up api for user
joshuajyu Jun 16, 2024
928a471
Merge branch 'login' of https://github.com/UofT-UTSC-CS-sandbox/final…
joshuajyu Jun 16, 2024
cf20084
Fixed server.js
joshuajyu Jun 16, 2024
002e746
minor edits
SohilChanana Jun 16, 2024
4c72562
fixed null
acca12 Jun 17, 2024
595f717
Merge branch 'login' of https://github.com/UofT-UTSC-CS-sandbox/final…
SohilChanana Jun 17, 2024
52015ae
Finish RPM, with input from the group of course lol
Jun 17, 2024
3607f93
Update RPM.md
joshuajyu Jun 17, 2024
7533402
Done adding the sign-up ticket to the RPM
Jun 17, 2024
a8e1931
Merge branch 'login' of https://github.com/UofT-UTSC-CS-sandbox/final…
Jun 17, 2024
8829b8e
Merge branch 'login' of https://github.com/UofT-UTSC-CS-sandbox/final…
SohilChanana Jun 17, 2024
05c9ad6
Minor changes
SohilChanana Jun 17, 2024
cc23f2b
Merge branch 'login' of https://github.com/UofT-UTSC-CS-sandbox/final…
SohilChanana Jun 17, 2024
3b80186
Uploaded system design document
joshuajyu Jun 17, 2024
4f5fda6
Created system design document
joshuajyu Jun 17, 2024
302b6b7
Merge branch 'login' of https://github.com/UofT-UTSC-CS-sandbox/final…
joshuajyu Jun 17, 2024
658979e
Update RPM.md
joshuajyu Jun 17, 2024
d5e5d32
Update
joshuajyu Jun 17, 2024
3831f7b
Update README.md
joshuajyu Jun 17, 2024
c92e52e
Merge branch 'login' into develop
joshuajyu Jun 17, 2024
ed59857
Merge branch 'main' of https://github.com/UofT-UTSC-CS-sandbox/final-…
joshuajyu Jun 17, 2024
05f8208
Create sprint1_mark.md
shang8024 Jun 28, 2024
d1363b7
Merge branch 'login' into develop
SohilChanana Jun 30, 2024
2e2706a
Added missing links
SohilChanana Jul 1, 2024
3a5809e
Refactors server, implemented viewing account details, name change, l…
joshuajyu Jul 1, 2024
632e68e
Added create new button
SohilChanana Jul 1, 2024
3e0151f
minor changes
SohilChanana Jul 1, 2024
10def55
Merge branch 'develop' into feature/create-contract
SohilChanana Jul 1, 2024
300aed5
Added popup modal to homepage
SohilChanana Jul 1, 2024
90414f5
Created popup on logout, minor changes
SohilChanana Jul 1, 2024
04b9013
Added email change form and functionality
SohilChanana Jul 1, 2024
0a307f0
Added visual indicators for unsuccessful login and form changes
SohilChanana Jul 2, 2024
ce8f179
Created contract creation form files, minor changes
SohilChanana Jul 2, 2024
48b981b
Started implementing chatgpt stuff
SohilChanana Jul 2, 2024
d1b6d11
ChatGPT route now working
SohilChanana Jul 2, 2024
9e3a8b2
Create custom contract form set up and working
SohilChanana Jul 3, 2024
a5eb310
Created contractNDAForm
KatH121 Jul 4, 2024
19d19ce
fixed refresh bug
acca12 Jul 4, 2024
495e58a
Added dropdown on NavBar to navigate to accountInfo and logout
KatH121 Jul 4, 2024
55ad91d
Added license to axios package
SohilChanana Jul 5, 2024
32e82b7
Minor front end changes on home page
KatH121 Jul 5, 2024
44f9620
Create doc/sprint2
joshuajyu Jul 6, 2024
635cc65
Merge branch 'develop'
joshuajyu Jul 6, 2024
66ec1d3
Update iteration-02.plan.md
joshuajyu Jul 6, 2024
9513580
Update iteration-02.plan.md
joshuajyu Jul 6, 2024
88f802e
Update iteration-02.plan.md
joshuajyu Jul 6, 2024
be2f463
Add burndown.pdf
joshuajyu Jul 6, 2024
9a02ee3
Removed unnecessary files
joshuajyu Jul 8, 2024
0957365
Delete unnecessary files
joshuajyu Jul 8, 2024
c608867
Update README.md
joshuajyu Jul 8, 2024
165c95b
Merge branch 'feature/create-contract' of https://github.com/UofT-UTS…
SohilChanana Jul 8, 2024
1063663
minor changes
SohilChanana Jul 9, 2024
0ae8b4e
Merge branch 'feature/create-contract' into develop
SohilChanana Jul 11, 2024
966da97
Minor design changes
SohilChanana Jul 11, 2024
4d0c701
Merge branch 'develop'
SohilChanana Jul 11, 2024
8b9a8eb
Minor frontend changes
SohilChanana Jul 11, 2024
95cd235
Started rental contract form
SohilChanana Jul 11, 2024
5db7942
Created Signature Pad in NDA contract only
KatH121 Jul 12, 2024
45e717b
Added fields for rental agreement form. Contract generation WIP
SohilChanana Jul 14, 2024
1531fcc
Completed rental form contract
SohilChanana Jul 15, 2024
df3a47a
background color change for forms, minor design changes
SohilChanana Jul 15, 2024
37b6e00
Minor changes to prompt
SohilChanana Jul 15, 2024
6cd1999
Minor changes to api responses
SohilChanana Jul 16, 2024
303d6cc
Create sprint2_mark.md
shang8024 Jul 16, 2024
cdc7bde
Fixes to .gitignore
SohilChanana Jul 17, 2024
32beecb
Changed signature pad as a dropdown in NDA contract. Saves signature …
KatH121 Jul 18, 2024
98dfb2f
Updated user schema, Implemented API endpoints for signatures
joshuajyu Jul 18, 2024
1254647
Changes to error code, new gpt model
SohilChanana Jul 19, 2024
ac3bc94
Creating sprint3 deliverables
Jul 19, 2024
19ad9b5
Added done iteration plan, still need to touch up sprint review
Jul 19, 2024
0d82532
Added burndown
Jul 20, 2024
bfc611a
Finshed sprint-03.review
Jul 20, 2024
4c8c042
Added System Design Doc, thank you josh uwu
Jul 20, 2024
721bac3
AWS s3 file saving
acca12 Jul 20, 2024
18ba67d
Added schedule, tanks kathhh :)
Jul 20, 2024
6e22444
Merge remote-tracking branch 'origin/feature/storage' into develop
Jul 20, 2024
6d8fd09
Resolved merge conflicts
Jul 20, 2024
181a3d1
Merge branch 'develop'
Jul 20, 2024
f78601d
Fixed home page, minor changes
SohilChanana Jul 21, 2024
c8fd529
Started work on prenup form
SohilChanana Jul 21, 2024
413b2c0
update package.json
joshuajyu Jul 22, 2024
b2c3787
Merge branch 'develop' of https://github.com/UofT-UTSC-CS-sandbox/fin…
joshuajyu Jul 22, 2024
b1a05c7
Update package.json
joshuajyu Jul 22, 2024
7617313
minor changes
SohilChanana Jul 22, 2024
d64a706
Merge branch 'feature/signature-pad' into develop
joshuajyu Jul 22, 2024
db98ea3
Resolved merge conflicts
joshuajyu Jul 22, 2024
ee4a846
Minor changes
SohilChanana Jul 27, 2024
ca9ee5e
Added prenup agreement and gpt-4o-mini support
SohilChanana Jul 30, 2024
a63be32
Merge branch 'feature/prenup-contract' into develop
SohilChanana Jul 30, 2024
3b6c6c0
Minor changes
SohilChanana Jul 30, 2024
1842fc5
added rich text functionality
SohilChanana Jul 31, 2024
135e2e2
Cleaned up rich text formatting, added saving to every contract, mino…
SohilChanana Aug 1, 2024
5600932
Update footer component with navigation functionality
SohilChanana Aug 1, 2024
c3afe4e
Minor color changes
SohilChanana Aug 2, 2024
9467cd6
minor changes
SohilChanana Aug 2, 2024
0b38e38
Feat: Deliverables
Aug 3, 2024
1cef971
Feat: Added Burndown for sprint 4
Aug 3, 2024
30792bb
Feat: Added Burndown for sprint 4
Aug 3, 2024
055413d
Feat: Completed Interation Plan
HaHammad Aug 3, 2024
b4d5988
Merge branch 'main' of https://github.com/UofT-UTSC-CS-sandbox/final-…
HaHammad Aug 3, 2024
22afee8
feat: Formatting for iteration plan
HaHammad Aug 3, 2024
4bb80ac
Finished Sprint Review
HaHammad Aug 3, 2024
b97f84b
Spelling
HaHammad Aug 3, 2024
7f4e71d
Added schedule for Sprint 4
HaHammad Aug 3, 2024
e6ebb56
Added System Design Document
HaHammad Aug 3, 2024
411ab83
Fixed table of contents error in sys design doc
HaHammad Aug 3, 2024
d782695
started working on edit text
SohilChanana Aug 3, 2024
58969e0
Update README.md
SohilChanana Aug 3, 2024
f50eea0
Remove unnecessary README files
SohilChanana Aug 3, 2024
e30aca8
Merge branch 'develop' of https://github.com/UofT-UTSC-CS-sandbox/fin…
SohilChanana Aug 3, 2024
e2b070a
Updated a few screenshots for README
SohilChanana Aug 3, 2024
3975017
Update README.md
SohilChanana Aug 3, 2024
68086c1
Added ai suggestions
SohilChanana Aug 3, 2024
cb3d215
test
acca-12 Aug 3, 2024
b9c9a30
fetching file and changes to key storage for aws
acca-12 Aug 4, 2024
3a65295
deleting files works!
acca-12 Aug 4, 2024
25bd412
fixed save modularity
acca-12 Aug 4, 2024
149373d
lil debugging action
acca-12 Aug 4, 2024
f26f5d2
minor changes
SohilChanana Aug 5, 2024
e98f3ee
Contract card design changes
SohilChanana Aug 5, 2024
70e2aab
Minor Changes
SohilChanana Aug 5, 2024
b618794
minor changes
SohilChanana Aug 5, 2024
a3f4cad
Create sprin3_mark.md
shang8024 Aug 5, 2024
5b51f75
lil saving action
acca-12 Aug 5, 2024
895afec
Merge branch 'feature/edit-contract' of https://github.com/UofT-UTSC-…
acca-12 Aug 5, 2024
00313cd
Fixed, bugs, minor changes
SohilChanana Aug 5, 2024
312c42c
Edit contract complete, added thumbnails, contracts show sorted by re…
SohilChanana Aug 5, 2024
e6a3e8c
Merge branch 'feature/edit-contract' into develop
SohilChanana Aug 5, 2024
3bdf360
Updated architecture diagram
joshuajyu Aug 5, 2024
e4bfe7a
Updated info
joshuajyu Aug 5, 2024
2d8b2cd
Feat: Created Dockerfile for A2
HaHammad Aug 5, 2024
0cf9843
removed commented code
SohilChanana Aug 5, 2024
8703d9a
Update .gitlab-ci.yml file
HaHammad Aug 5, 2024
e1e0988
Export PDF and changes to signature pad
KatH121 Aug 5, 2024
3fcbe27
Basic CI/CD configuration
HaHammad Aug 5, 2024
6597ed2
Minor frontend changes, added icons
SohilChanana Aug 6, 2024
39984a8
Update .gitlab-ci.yml file
HaHammad Aug 6, 2024
9f5ce5b
Update .gitlab-ci.yml file
HaHammad Aug 6, 2024
84a65fd
Update .gitlab-ci.yml file
HaHammad Aug 6, 2024
1c43bbd
Update .gitlab-ci.yml file
HaHammad Aug 6, 2024
5bf161c
Update .gitlab-ci.yml file
HaHammad Aug 6, 2024
d44e181
Update .gitlab-ci.yml file
HaHammad Aug 6, 2024
42c08d7
Update .gitlab-ci.yml file
HaHammad Aug 6, 2024
d68ac57
Update .gitlab-ci.yml file
HaHammad Aug 6, 2024
4dfe7fb
Update .gitlab-ci.yml file
HaHammad Aug 6, 2024
53139b2
added docker compose file
HaHammad Aug 7, 2024
e290214
added docker compose file
HaHammad Aug 7, 2024
b87d6c7
Added tests and edited the pipeline so it runs tests in the container
HaHammad Aug 7, 2024
efb02be
Added before script to pipeline
HaHammad Aug 7, 2024
567009b
Increased sleep time for script, I think the script is running before…
HaHammad Aug 7, 2024
cbb2937
Checking if service is listening on port
HaHammad Aug 7, 2024
316db3b
trying to get the tests to pass
HaHammad Aug 7, 2024
33909c3
casing issues
HaHammad Aug 7, 2024
7cb0995
Fixing more caseing issues
HaHammad Aug 7, 2024
45be960
Changing node version in Dockerfile
HaHammad Aug 7, 2024
7b6a6db
tweaked docker compose to have mongo connection
HaHammad Aug 7, 2024
4ba5751
tweaked docker compose
HaHammad Aug 7, 2024
ed7ad9a
Tweakked dockercompose
HaHammad Aug 7, 2024
a829eb1
Changed port, and added README
HaHammad Aug 7, 2024
741b883
Added System design Doc
HaHammad Aug 7, 2024
345331d
Created the CI/CD folder
HaHammad Aug 7, 2024
ba2576f
added submission details
HaHammad Aug 7, 2024
bf8d2be
Typo
HaHammad Aug 7, 2024
624b58c
Merge pull request #6 from UofT-UTSC-CS-sandbox/develop
SohilChanana Aug 8, 2024
d221ffa
Rename A2 Submission Details.pdf to A2 Submission Details.pdf
SohilChanana Aug 8, 2024
1530e44
Rename .gitlab-ci.yml to .gitlab-ci.yml
SohilChanana Aug 8, 2024
ccdc4e7
Rename A2 System Design Document.pdf to A2 System Design Document.pdf
SohilChanana Aug 8, 2024
025e3fc
Rename A2README.md to A2README.md
SohilChanana Aug 8, 2024
0aad91d
Rename Dockerfile to Dockerfile
SohilChanana Aug 8, 2024
085d952
Rename docker-compose.yml to docker-compose.yml
SohilChanana Aug 8, 2024
4164386
Rename test.sh to test.sh
SohilChanana Aug 8, 2024
ffe5693
Create sprint4_mark.md
shang8024 Aug 10, 2024
4b05b66
Create a2_mark.md
shang8024 Aug 15, 2024
e9b8492
Removed .env file from README
SohilChanana Sep 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
**/.DS_Store
.vscode
node_modules/
.prettierrc
pactify-server/config.env
5 changes: 5 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"githubPullRequests.ignoredPullRequestBranches": [
"main"
]
}
48 changes: 48 additions & 0 deletions CICD/.gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
stages:
- build
- deploy
- test

build-docker:
image: docker:latest
stage: build

services:
- docker:dind

variables:
DOCKER_HOST: tcp://docker:2375/
DOCKER_TLS_CERTDIR: ""

before_script:
- apk update
- apk add --no-cache docker-cli

script:
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
- docker build -t $DOCKER_USERNAME/pactify:latest -t $DOCKER_USERNAME/pactify:v1.0.0 .
- docker push $DOCKER_USERNAME/pactify:latest
- docker push $DOCKER_USERNAME/pactify:v1.0.0

rules:
- if: '$CI_COMMIT_BRANCH == "main"'

deploy-and-test:
image: docker/compose:latest
stage: deploy

services:
- docker:dind

variables:
DOCKER_HOST: tcp://docker:2375/
DOCKER_TLS_CERTDIR: ""

before_script:
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin

script:
- docker-compose up --abort-on-container-exit --exit-code-from tester

rules:
- if: '$CI_COMMIT_BRANCH == "main"'
Binary file added CICD/A2 Submission Details.pdf
Binary file not shown.
Binary file added CICD/A2 System Design Document.pdf
Binary file not shown.
27 changes: 27 additions & 0 deletions CICD/A2README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Pactify CI/CD Pipeline

## Overview

This project sets up a CI/CD pipeline for our application using Docker, Docker Compose, and GitLab CI/CD.

## Files and Directories

- **Dockerfile**: Defines the steps to build the Docker image for the application.
- **docker-compose.yml**: Defines the services required for the application.
- **.gitlab-ci.yml**: Definess the CI/CD pipeline stages and jobs.
- **/reports**: Contains all the system design and workflow implementation docs.

## How to Run

1. First ensure Docker and Docker Compose are installed.
2. Then clone the repository.
3. Then you want to navigate to the project directory.
4. Then just run `docker-compose up` to start the services.
5. Finally, access the application at `http://localhost:5001`. I can't use port 5000 since Control Center in macOS Monterey listens on it... refer to: [Port 5000 used by Control Center in macOS Control Center](https://nono.ma/port-5000-used-by-control-center-in-macos-controlce).

## CI/CD Pipeline

The CI/CD pipeline is defined in `.gitlab-ci.yml` and includes the following stages:
- **Build**: Builds the Docker image for the application.
- **Deploy**: Deploys the application using Docker Compose.
- **Test**: Verifies the application is running correctly.
27 changes: 27 additions & 0 deletions CICD/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Build client
FROM node:16 AS client-build
WORKDIR /app
COPY pactify-app/package*.json ./
RUN npm install
COPY pactify-app/ ./
RUN npm run build

# Build server
FROM node:16 AS server-build
WORKDIR /app
COPY pactify-server/package*.json ./
RUN npm install
COPY pactify-server/ ./

# Copy the client build to the server's public directory
COPY --from=client-build /app/build /app/public

# MaKing Sure the entire project is copied
COPY pactify-server/models /app/models
COPY pactify-server/routes /app/routes


EXPOSE 5000


CMD ["node", "server.js"]
50 changes: 50 additions & 0 deletions CICD/a2_mark.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Assignment 2 Marking Scheme 50 marks

**Team Name:** Algoholics

---
## System Design (PDF or MD file or another suitable format) (max 15 marks)

- Software Architecture Diagram & CI Workflow(max 10 marks)
- 10 marks = The Architecture Diagram is present, it is formatted using proper graphic symbols. CI workflow is set up using GitAction with proper comments
- 5 marks = The Architecture Diagram is present, it is not formatted well. CI workflow is set up but with no proper comments.
- 0 marks = No diagram present or the presented document does not look like a software architecture diagram. No CI workflow set up.

Your Mark: 10

- Tasks Distribution (max 5 marks)
- 5 marks = every team member had at least one task assigned and completed
- 4 marks = every team member had at least one task assigned and made a pull request
- 2 marks = at least one team member did not complete any task or did not have any task assigned
- 0 marks = most of team members have no tasks assigned and/or completed

Your Mark: 5


## GitHub Review (Max 30 marks)


- Working CICD pipeline (X marks)
- 5 marks = docker file(s) that that can meet all the project requirements and features
- 5 marks = build docker image
- 5 marks = Push Docker image to a container registry (e.g. DockerHub)
- 5 marks = 3-5 Test Cases written for CI or CD
- 10 marks = Deployment of container image(s) on an orchestration framework (e.g. kubernetes)

Your Mark: 27

Not enough test cases

- Documentation (max 5 marks)

- 5 marks = documentation has been created for all steps
- 3 mark = documentation has been created for some steps
- 0 marks = documentation has not been created

Your Mark: 5



## Total Mark

47 / 50
20 changes: 20 additions & 0 deletions CICD/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
version: '3'
services:
mongo:
image: mongo:latest
ports:
- "27017:27017"

pactify:
image: haha0224/pactify:latest
ports:
- "5001:5000"
environment:
- NODE_ENV=production
- MONGO_URI=mongodb://mongo:27017/Pactify

tester:
image: alpine:latest
depends_on:
- pactify
entrypoint: ["sh", "-c", "apk add --no-cache curl && sleep 60 && curl -f http://pactify:5000 || true"]
15 changes: 15 additions & 0 deletions CICD/test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#!/bin/sh

# Increase the wait time to ensure the service is up and running
sleep 60

# Check if the service is listening
netstat -tuln

# Check if the service is up
curl -f http://localhost:5000 || {
echo "Service is not running or not accessible"
exit 1
}

echo "Container is running and accessible"
Binary file added Interface/AccountInfo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Interface/FinalEdits.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Interface/Generate.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Interface/HomeScreen.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Interface/Login.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Interface/ResetPassword-Email.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Interface/ResetPassword-NewPassword.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Interface/Select.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Interface/SignUp.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Interface/UploadPDF.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
132 changes: 132 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
# Pactify

Welcome to **Pactify**, a quick, easy, and affordable way to generate a contract, or update an existing contract. With our AI-powered contract generation, users can choose from one of our predefined templates or upload their own PDF, give us some additional information, and **Pactify** will do the rest. After generating your contract, you can freely edit, download, share, and save your contract to your account.

## Running the app

Instructions to run the app

1. Acquire the config.env file and place it in the pactify-server directory

2. In a shell, run the following:
```bash

cd pactify-server

npm install

npm start

cd ..

cd pactify-app

npm install

npm start
```

## Getting Started

![Image of the Pactify Landing Page](https://github.com/UofT-UTSC-CS-sandbox/final-term-project-the-algoholics/blob/develop/Interface/Login.png)

##### The Pactify Login Screen

To get started, all you have to do is go to our website and sign up. After signing up, you can freely use **Pactify** for all your contract generation needs, or go for **Pactify Premium** to gain some additional features!

## Creating a New Contract

![Image of Creating a New Contract](https://github.com/UofT-UTSC-CS-sandbox/final-term-project-the-algoholics/blob/develop/Interface/Generate.png)

##### The Contract Creation Screen

![Image of Uploading a PDF](https://github.com/UofT-UTSC-CS-sandbox/final-term-project-the-algoholics/blob/759dcaed133f9196e12468d39f722ec1cfa80b79/Interface/UploadPDF.png)

##### The PDF Upload Screen

To create a contract, first log in to **Pactify**. Once you're logged in, simply click on the "Create New" button. From there, choose whether you want to create an all new contract or upload your existing contract!

## Updating an Existing Contract

![Image of Editing Contract](https://github.com/UofT-UTSC-CS-sandbox/final-term-project-the-algoholics/blob/759dcaed133f9196e12468d39f722ec1cfa80b79/Interface/FinalEdits.png)

##### The View/Edit Contract Screen

To update a contract, first log in to **Pactify**. Once you're logged in, simply click on the contract you'd like to edit. From there, edit however you want, then save or download!

## Deleting a Contract

![Image of Home Screen](https://github.com/UofT-UTSC-CS-sandbox/final-term-project-the-algoholics/blob/759dcaed133f9196e12468d39f722ec1cfa80b79/Interface/HomeScreen.png)

##### The Home Screen

To delete a contract, first log in to **Pactify**. Once you're logged in, simply click "Delete" icon on the contract you'd like to delete.

## Editing your Account

![Image of Account Screen](https://github.com/UofT-UTSC-CS-sandbox/final-term-project-the-algoholics/blob/develop/Interface/AccountInfo.png)

##### The Account Screen

To edit your account, first log in to **Pactify**. Once you're logged in, simply click your profile in the top right and then click the edit symbol on whatever you'd like to edit.

## Deleting your Account

![Image of Account Screen](https://github.com/UofT-UTSC-CS-sandbox/final-term-project-the-algoholics/blob/develop/Interface/AccountInfo.png)

##### The Account Screen

To delete your account, first log in to **Pactify**. Once you're logged in, simply click your profile in the top right and then click "Delete Account" You will then be prompted with a popup to confirm your choice. Thanks for using **Pactify**!

# Contributing to Pactify

### 1. Do you use git flow?

Yes, we use Git Flow for managing our branches and releases! In short, Git Flow should allow us to structure our workflow and maintain a clean, organized history of our codebase. Here’s a quick overview of our branching strategy:

Main: The main branch **ONLY** contains production-ready code. **ONLY** thoroughly tested and stable code is merged here.

Develop: The develop branch contains the latest delivered development changes for the next release. It’s where integration of features will occur.

Feature Branches: Feature branches are created from develop and used to work on new features. Only once the feature is complete and tested, it’s merged back into develop.

### 2. What do you name your branches?

We will be following a clear and descriptive naming conventions for our branches to make it easier to understand the purpose of each branch. The conventions we shall be following are as follows:

Feature Branches: 'feature/short-description'

Release Branches: 'release/version-number'

### 3. Do you use github issues or another ticketing website?

We will be using Jira for tracking tasks, bugs, and feature requests. Each issue is labeled appropriately and assigned to team members. Our labels include:

_bug_: For bug reports.

_enhancement_: For new features or improvements.

_documentation_: For documentation-related tasks.

_question_: For questions or clarifications.

_help wanted_: For tasks where we need additional input or help.

### 4. Do you use pull requests?

We will try to follow this pull request workflow:

Create a Branch: Start by creating a new branch based on the task or feature you are working on.

Develop and Test: Implement your changes and **thoroughly** test said changes.

Open a Pull Request: Once the changes are ready, open a pull request against the develop branch. And then provide a clear and descriptive title and description of the changes you have made.

Code Review: Team members will review the code you wrote. And then provide feedback, and request changes if necessary.

Merge: After two members from the group approve the changes they are then merged into the develop branch. If it’s a hotfix, it will be merged into the main branch after the **entire** group approves the request.

Hopefully, by following these steps, we ensure that our project remains organized, collaborative, and of high quality.



Loading