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

Version 0.1.0 #84

Merged
merged 209 commits into from
Oct 31, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
209 commits
Select commit Hold shift + click to select a range
50b0a42
vite-react-for-docker-setup
SamLarivs Oct 8, 2024
9c1c2ab
Merge pull request #1 from oslabs-beta/basic-vite-react
aidanprior Oct 8, 2024
b926db5
adds the server which includes routes/server/app/config files and fol…
nanyi-deng Oct 9, 2024
feb2a3b
organizes backend files for docker
nanyi-deng Oct 10, 2024
6108446
Merge pull request #2 from oslabs-beta/homosapientdream/api-routes
aidanprior Oct 10, 2024
6dddbca
reorganizes frontend file structure, adds nav-bar
SamLarivs Oct 10, 2024
88152ec
Merge branch 'dev' into Sam/frontend-nav
SamLarivs Oct 10, 2024
9c6f455
Merge pull request #3 from oslabs-beta/Sam/frontend-nav
aidanprior Oct 10, 2024
897a95b
Moved routes.js to src folder and deleted routes folder
mkw2107 Oct 10, 2024
f4d6dcc
sets up docker containerization with independent frontend and backend
aidanprior Oct 10, 2024
ba82103
refined- JS &SDKV2
mkw2107 Oct 10, 2024
4d0992a
reorganizes the whole project into one package and connects backend w…
aidanprior Oct 11, 2024
86dd14f
Merge pull request #4 from oslabs-beta/mkw2107/backend-refine_convert…
aidanprior Oct 11, 2024
14b6acb
Merge branch 'dev' into aidanprior/docker-setup
aidanprior Oct 11, 2024
f7b9d15
removes commented out old dockerfile
aidanprior Oct 11, 2024
7bd7d71
adds 'Getting Started' section to README
aidanprior Oct 11, 2024
7ed34ef
building card components- in progress
SamLarivs Oct 11, 2024
bff7668
Merge branch 'dev' into Sam/charts
SamLarivs Oct 11, 2024
b6d8e5a
Merge pull request #5 from oslabs-beta/aidanprior/docker-setup
aidanprior Oct 11, 2024
6f70eaf
Merge branch 'dev' into Sam/charts
SamLarivs Oct 11, 2024
d5249b4
fix: fixes errors caused by bad merge
aidanprior Oct 11, 2024
c05ba3e
Merge pull request #6 from oslabs-beta/aidanprior/fixing-server-bugs
SamLarivs Oct 11, 2024
92277e9
migrated from AWS SDK V2 to V3
mkw2107 Oct 11, 2024
fa7b460
moved routes.js back to routes.js
mkw2107 Oct 11, 2024
809acbc
Merge branch 'dev' into mkw2107/backened-js-AWS-SDK-V3
mkw2107 Oct 11, 2024
e6fc758
Merge pull request #8 from oslabs-beta/mkw2107/backened-js-AWS-SDK-V3
aidanprior Oct 11, 2024
4c21413
fix: Changes 'npm run dev' to use nodemon, and creates a seperator in…
aidanprior Oct 11, 2024
15617b8
Merge branch 'dev' into aidanprior/minor-fix-for-development-mode
aidanprior Oct 11, 2024
a574b8f
Merge pull request #9 from oslabs-beta/aidanprior/minor-fix-for-devel…
mkw2107 Oct 11, 2024
3f20e7e
feat: adds charts and card components, fixes various bugs
SamLarivs Oct 11, 2024
07fc4b3
adds updated App.tsx
SamLarivs Oct 11, 2024
e81b585
Merge branch 'dev' into Sam/charts
SamLarivs Oct 11, 2024
a0aaedf
Delete client/src/recharts.d.ts
aidanprior Oct 11, 2024
27a046c
Update app.js
aidanprior Oct 11, 2024
a31646b
Update vite.config.ts
aidanprior Oct 11, 2024
3d7e243
Merge pull request #10 from oslabs-beta/Sam/charts
nanyi-deng Oct 11, 2024
d56fd65
wip: moves client files to project directory
aidanprior Oct 14, 2024
dd8b1b9
Revert "wip: moves client files to project directory"
aidanprior Oct 14, 2024
6003736
wip: moves client files to project directory
aidanprior Oct 14, 2024
2040a9d
wip: moves server files to project directory
aidanprior Oct 14, 2024
96dab49
wip: clean up backend file locations and removing obsolete
aidanprior Oct 14, 2024
8f603f7
fix: reconfigures project directory, build process, and docker config…
aidanprior Oct 14, 2024
2cabb8b
fix: updates the npm 'start' script
aidanprior Oct 14, 2024
cb84166
Adds heat map component
SamLarivs Oct 14, 2024
b5edfbe
feat: Implements Events Dashboard feature and fixes Navbar dropdown f…
SamLarivs Oct 14, 2024
1d54f0d
Merge pull request #12 from oslabs-beta/Sam/heatmap-feature
aidanprior Oct 14, 2024
84d2641
Merge branch 'dev' into aidanprior/remove-backend
aidanprior Oct 14, 2024
4190778
Merge pull request #13 from oslabs-beta/Sam/Dashboard-feature
aidanprior Oct 14, 2024
97c7660
Merge branch 'dev' into aidanprior/remove-backend
aidanprior Oct 14, 2024
2d96f06
fix: fixes import issues with merged files
aidanprior Oct 14, 2024
042a2d4
Merge pull request #11 from oslabs-beta/aidanprior/remove-backend
SamLarivs Oct 14, 2024
054dd16
feat: Updates Event cards with real cloudtrail data (in-progress)
SamLarivs Oct 15, 2024
4d065db
feat(charts): creates an Access-By-IP pie chart with sdk data
aidanprior Oct 15, 2024
f985c2e
wip: reaname file
aidanprior Oct 15, 2024
3afd5a8
feat: Adds event dashboard with real data, adds dark mode
SamLarivs Oct 15, 2024
69e924e
Merge pull request #15 from oslabs-beta/Sam/AWS-event-configuration
aidanprior Oct 15, 2024
f015335
wip: adds charts, refactoring to improve state handling
aidanprior Oct 15, 2024
2079b09
wip: reaname file
aidanprior Oct 15, 2024
8224253
feat(charts): combines ip access pie chart and adds ip access by time…
aidanprior Oct 15, 2024
5a4e28c
Merge branch 'dev' into aidanprior/access-by-ip-chart
aidanprior Oct 15, 2024
6e24040
Merge pull request #14 from oslabs-beta/aidanprior/access-by-ip-chart
SamLarivs Oct 16, 2024
f914612
Save current progress before merging dev branch
mkw2107 Oct 16, 2024
2ba1c01
feat: styling (in-progress)
SamLarivs Oct 16, 2024
6fb06a5
Merge branch 'dev' into Sam/Styling
SamLarivs Oct 16, 2024
7282fca
functioning Heatmap
SamLarivs Oct 16, 2024
82a0495
wip: adds db image to docker, reintegrates backend, commit is to rena…
aidanprior Oct 16, 2024
35dd4c5
wip: renames file
aidanprior Oct 16, 2024
79ed414
wip: fixes merge conflicts and stash issues
mkw2107 Oct 16, 2024
cb608fa
Merge branch 'dev' into mkw2107/login-page
mkw2107 Oct 16, 2024
21718ee
login and sign up pages
mkw2107 Oct 16, 2024
4a86d27
feat(datbase): reconfigures docker, vite, etc. for a backend. adds da…
aidanprior Oct 16, 2024
4397e0a
feat(accessIpPie): adds location data for selected ip
aidanprior Oct 16, 2024
d888872
Feat: adds heatmap of IP access locations based on real user data
SamLarivs Oct 16, 2024
1f4505a
fixed sign up pages wideth and now it is easy to see in dark mode
mkw2107 Oct 17, 2024
9fc2d1c
Merge pull request #16 from oslabs-beta/mkw2107/login-page
aidanprior Oct 17, 2024
ac25ce9
Merge branch 'dev' into aidanprior/dbSetup
aidanprior Oct 17, 2024
41049c0
Merge branch 'dev' into aidanprior/locationDetails
aidanprior Oct 17, 2024
48d8c03
Merge pull request #17 from oslabs-beta/aidanprior/dbSetup
SamLarivs Oct 17, 2024
59785cb
Merge branch 'dev' into aidanprior/locationDetails
aidanprior Oct 17, 2024
9e63a49
fix: allows use of package-lock clean install in docker container
aidanprior Oct 17, 2024
6a9416e
fix(vite): implments lazy imports for Route components
aidanprior Oct 17, 2024
3ea31ee
Merge branch 'dev' into Sam/Styling
SamLarivs Oct 17, 2024
1d2250d
fix(docker): reenables workaround for npm optional commit bug
aidanprior Oct 17, 2024
ece8914
Merge pull request #19 from oslabs-beta/aidanprior/lazyImports
SamLarivs Oct 17, 2024
e0e7d3c
feat(EventTypesChart): adds a vertical bar chart to track event types
aidanprior Oct 17, 2024
d6be439
Merge branch 'dev' into aidanprior/locationDetails
aidanprior Oct 17, 2024
ff0b2ba
Merge branch 'dev' into aidanprior/eventTypeBarChart
aidanprior Oct 17, 2024
1024d76
Merge pull request #18 from oslabs-beta/aidanprior/locationDetails
SamLarivs Oct 17, 2024
e042c35
Merge branch 'dev' into aidanprior/eventTypeBarChart
aidanprior Oct 17, 2024
1652cae
refactor(EventTypesChart): pretties up the event types chart and allo…
aidanprior Oct 17, 2024
7265c99
Feat: adds logo file, updates logo, resizes nav buttons
SamLarivs Oct 17, 2024
5bd0977
Merge pull request #20 from oslabs-beta/aidanprior/eventTypeBarChart
SamLarivs Oct 17, 2024
387589b
feat(EventSourcesChart): adds an Event Sources Chart
aidanprior Oct 17, 2024
56b7949
refactor(EventSourcesChart): reduces number of events called for to p…
aidanprior Oct 17, 2024
71675d5
wip(ActivityChart): renames LineChart.tsx to UserActivity.tsx
aidanprior Oct 17, 2024
40b2a0d
styling continued
SamLarivs Oct 17, 2024
02c9541
Merge branch 'dev' into Sam/heatmap
SamLarivs Oct 17, 2024
d906f6d
Feat: adds functioning heatmap with real IP data
SamLarivs Oct 17, 2024
6d5580c
Merge pull request #21 from oslabs-beta/aidanprior/eventSourceBarChart
SamLarivs Oct 17, 2024
437c8cd
Merge pull request #22 from oslabs-beta/Sam/Heatmap
aidanprior Oct 17, 2024
036e4a8
Merge branch 'dev' into Sam/Styling
SamLarivs Oct 17, 2024
58d344d
wip(ActivityChart): connects User Activity Chart to real cloudtrail data
aidanprior Oct 17, 2024
160f34d
Merge branch 'dev' into Sam/Styling
SamLarivs Oct 17, 2024
6a75fbe
Merge branch 'dev' into aidanprior/homepageCleanup
aidanprior Oct 17, 2024
8b26237
Feat: adds all around styling (in-progress)
SamLarivs Oct 17, 2024
6d1bcf6
Merge pull request #23 from oslabs-beta/Sam/Styling
aidanprior Oct 17, 2024
f5e353d
wip(loginPage): updated login page
mkw2107 Oct 17, 2024
b632cf4
Merge branch 'dev' into mkw2107/login-page
mkw2107 Oct 17, 2024
6475b71
feat(Home): changes some styling and layout of the homepage
aidanprior Oct 17, 2024
7e1c369
Merge pull request #24 from oslabs-beta/mkw2107/login-page
aidanprior Oct 17, 2024
70ddaf8
Merge branch 'dev' into aidanprior/homepageCleanup
aidanprior Oct 17, 2024
2b08b7d
Merge pull request #25 from oslabs-beta/aidanprior/homepageCleanup
SamLarivs Oct 17, 2024
99d7c85
sass-setup
SamLarivs Oct 21, 2024
f2665e5
with dark mode
mkw2107 Oct 21, 2024
325e45e
Feat: converts all css to scss
SamLarivs Oct 21, 2024
332a609
futher refined profile page
mkw2107 Oct 21, 2024
50b7065
WIP: deeper nav styling
SamLarivs Oct 21, 2024
7892a85
Merge pull request #52 from oslabs-beta/Sam/SCSS
aidanprior Oct 21, 2024
43add23
wip(AWS-SDK): create awsController and global error handler on backen…
aidanprior Oct 21, 2024
5136442
WIP: draggable home page components
SamLarivs Oct 21, 2024
0e4515d
An AWS credential input field has been added to the Profile Page, alo…
mkw2107 Oct 22, 2024
bdd3186
Merge branch 'dev' into mkw2107/frontend-fix-profile-page
mkw2107 Oct 22, 2024
d19197e
WIP: drag n drop functionality, needs update to card width
SamLarivs Oct 22, 2024
1872fc6
Merge pull request #56 from oslabs-beta/mkw2107/frontend-fix-profile-…
SamLarivs Oct 24, 2024
f930ae9
WIP: fix for cards on main page
SamLarivs Oct 24, 2024
1ded27a
Merge branch 'dev' into Sam/Dashboard-update
SamLarivs Oct 24, 2024
3ceb7b9
finished linking user sign up to the database
nanyi-deng Oct 24, 2024
2b8e1bd
Merge branch 'dev' into homosapientdream/usercontroller
nanyi-deng Oct 24, 2024
abb5f80
Feat:adds drag and drop functionality, clickable card for chart expan…
SamLarivs Oct 24, 2024
11073c1
Fix: adds preset bar height to any event, different colors, resizes p…
SamLarivs Oct 24, 2024
d9df78f
feat: integrate with database, cache events, fetch to server from fro…
aidanprior Oct 24, 2024
6a03182
Merge pull request #60 from oslabs-beta/Sam/Dashboard-update
aidanprior Oct 24, 2024
5a0bf91
fix: reorganizes db_init.sql script, adds name field to counted events
aidanprior Oct 24, 2024
7cacb6b
fix: change datakeys for charts with new event type
aidanprior Oct 24, 2024
bd31f77
Fix: rotates bar-graphs, fixes issue of only one bar rendering, adds …
SamLarivs Oct 24, 2024
0a7eb2f
feat(docker): added node_module volumes for consistent dependencies
aidanprior Oct 24, 2024
1db2f27
Merge branch 'dev' into Sam/Bargraph-fix
SamLarivs Oct 24, 2024
28cd0ee
Merge branch 'dev' into aidanprior/AwsToBackend
aidanprior Oct 24, 2024
16038a1
Fix: adds all regular css to scss file
SamLarivs Oct 24, 2024
36f41a1
Merge pull request #63 from oslabs-beta/Sam/Bargraph-fix
aidanprior Oct 24, 2024
aec8a7b
Merge branch 'dev' into aidanprior/AwsToBackend
aidanprior Oct 24, 2024
51b0116
fix: save file not added to push
aidanprior Oct 24, 2024
2f91e20
Merge pull request #62 from oslabs-beta/aidanprior/AwsToBackend
SamLarivs Oct 25, 2024
58e0238
the Navbar now automatically displays the username after the user log…
mkw2107 Oct 25, 2024
f926797
Merge branch 'dev' into aidanprior/docker
aidanprior Oct 25, 2024
87c34de
fix: remove unecessary npm packages
aidanprior Oct 25, 2024
3ed17b0
Merge pull request #64 from oslabs-beta/aidanprior/docker
SamLarivs Oct 25, 2024
0a4742a
finishes editting the code after code review
nanyi-deng Oct 25, 2024
b3e7091
Merge branch 'dev' into Sam/Sass-Compiling
SamLarivs Oct 25, 2024
9e36986
Merge branch 'dev' into mkw2107/Navbar-username
mkw2107 Oct 25, 2024
23c057e
Merge branch 'dev' into mkw2107/Navbar-username
mkw2107 Oct 25, 2024
2a3c578
Merge branch 'dev' into homosapientdream/usercontroller
nanyi-deng Oct 25, 2024
61f8486
Merge pull request #57 from oslabs-beta/homosapientdream/usercontroller
aidanprior Oct 25, 2024
1db85eb
WIP: card-styling update
SamLarivs Oct 26, 2024
b7690ea
WIP: Nav-edit
SamLarivs Oct 26, 2024
7765184
WIP: formatting
SamLarivs Oct 26, 2024
6934926
Merge branch 'dev' into Sam/Sass-Compiling
SamLarivs Oct 26, 2024
52d63c1
Merge branch 'dev' into mkw2107/Navbar-username
mkw2107 Oct 26, 2024
fbbb415
Fix: improves card formatting, mobile device nav width, media queries…
SamLarivs Oct 26, 2024
a6cd6b0
Fix: adds dynamic sizing to User activity Yaxis
SamLarivs Oct 26, 2024
a4bb82e
Fix: adds filtering of LookUpEvents logs
SamLarivs Oct 26, 2024
3a55c25
Merge branch 'Sam/Formatting' into Sam/EventLogFilter
SamLarivs Oct 26, 2024
7a15594
Fix: filters Lookup-events logs out, tweaks some styling, adds a litt…
SamLarivs Oct 26, 2024
5d3a9d2
connected sign up page with databse
mkw2107 Oct 26, 2024
0ad69b9
feat(CI): linting and formatting workflow
aidanprior Oct 26, 2024
6e72bdc
Merge pull request #66 from oslabs-beta/Sam/Formatting
aidanprior Oct 26, 2024
43b3ce3
feat(CI): update after test
aidanprior Oct 26, 2024
372b826
Merge branch 'dev' into aidanprior/CI
aidanprior Oct 26, 2024
ccd9093
feat(CI): linting and formatting workflow
aidanprior Oct 26, 2024
8ae4c8e
Merge branch 'dev' into Sam/EventLogFilter
SamLarivs Oct 28, 2024
0ba8397
Feat: adds filtering of LookUpEvents to better display relevent log info
SamLarivs Oct 28, 2024
435aa92
Merge pull request #67 from oslabs-beta/Sam/EventLogFilter
nanyi-deng Oct 28, 2024
73c72ca
Merge pull request #70 from oslabs-beta/aidanprior/CI
SamLarivs Oct 28, 2024
9bae0b1
feat(Navbar): integrate frontend username tracking with database
mkw2107 Oct 28, 2024
e0e4321
Merge branch 'dev' into mkw2107/Navbar-username
mkw2107 Oct 28, 2024
a7ba520
Delete vite.config.ts.timestamp-1729968977378-cd95db397c758.mjs
aidanprior Oct 28, 2024
860d36b
Merge pull request #65 from oslabs-beta/mkw2107/Navbar-username
SamLarivs Oct 28, 2024
9495825
fix(database): remove the character limits from the database schema
aidanprior Oct 29, 2024
68bafef
Merge pull request #74 from oslabs-beta/aidanprior/databaseFix
SamLarivs Oct 29, 2024
db82063
The Profile Page can now display the logged-in user's information
mkw2107 Oct 29, 2024
aede4ec
suspendedSettingsForNow
mkw2107 Oct 29, 2024
57a2687
Merge pull request #75 from oslabs-beta/mkw2107/profileDisplay
aidanprior Oct 29, 2024
8da5667
feat: add anomoly chart with dummy data
nanyi-deng Oct 29, 2024
184719a
fix: disable authentication protecting home, profile, event-dashboard…
nanyi-deng Oct 29, 2024
de6d961
Merge pull request #76 from oslabs-beta/mkw2107/profilePageSettingsSu…
aidanprior Oct 29, 2024
938b294
Merge branch 'homosapientdream/anomolyChart' of https://github.com/os…
SamLarivs Oct 29, 2024
9e34959
Fix: removed unused imports and corrects dummy data chart
SamLarivs Oct 29, 2024
65b2f97
Merge pull request #78 from oslabs-beta/Sam/Linting
aidanprior Oct 30, 2024
994c93c
wip: allows user to submit credentials from profile page
aidanprior Oct 29, 2024
95164dd
The Profile Page can now display the logged-in user's information
mkw2107 Oct 29, 2024
27ca23e
feat: fix authentication routing and uses localstorage for session ma…
aidanprior Oct 30, 2024
13f3d64
suspendedSettingsForNow
mkw2107 Oct 29, 2024
a4099ff
feat: add anomoly chart with dummy data
nanyi-deng Oct 29, 2024
9a7bc95
fix: disable authentication protecting home, profile, event-dashboard…
nanyi-deng Oct 29, 2024
2ab575a
Fix: removed unused imports and corrects dummy data chart
SamLarivs Oct 29, 2024
19931a1
fix: reimplement all the changes that were undone by git rebase
aidanprior Oct 30, 2024
8919474
Merge branch 'dev' into aidanprior/credentialsToBackend
aidanprior Oct 30, 2024
6129d15
fix: fix missed merge conflicts
aidanprior Oct 30, 2024
093c07b
Merge pull request #79 from oslabs-beta/aidanprior/credentialsToBackend
SamLarivs Oct 30, 2024
4f01d0b
fix: fix some edge cases for routing on the frontend, organized user …
aidanprior Oct 30, 2024
82809b7
fix: typo in backend credential checking
aidanprior Oct 30, 2024
429b783
fix: remove console logs and fix session issues
aidanprior Oct 31, 2024
51edb5f
fix: update users creds on empty submit, change events dashborad butt…
aidanprior Oct 31, 2024
c68ce9d
Merge branch 'dev' into aidanprior/routingFix
aidanprior Oct 31, 2024
8b19400
Merge pull request #82 from oslabs-beta/aidanprior/routingFix
SamLarivs Oct 31, 2024
3781afb
finishes first version of README.md
nanyi-deng Oct 31, 2024
e3c5eae
Merge branch 'dev' into readme
nanyi-deng Oct 31, 2024
41faa6b
fix the image assets upload in readme and update the README.md accord…
nanyi-deng Oct 31, 2024
81bbfbb
Merge pull request #83 from oslabs-beta/readme
aidanprior Oct 31, 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
34 changes: 34 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Include any files or directories that you don't want to be copied to your
# container here (e.g., local build artifacts, temporary files, etc.).
#
# For more help, visit the .dockerignore file reference guide at
# https://docs.docker.com/go/build-context-dockerignore/

**/.classpath
**/.dockerignore
**/.env
**/.git
**/.gitignore
**/.project
**/.settings
**/.toolstarget
**/.vs
**/.vscode
**/.next
**/.cache
**/*.*proj.user
**/*.dbmdl
**/*.jfm
# **/charts
**/docker-compose*
**/compose.y*ml
**/Dockerfile*
**/node_modules
**/npm-debug.log
**/obj
**/secrets.dev.yaml
**/values.dev.yaml
**/build
**/dist
LICENSE
README.md
47 changes: 47 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# .github/workflows/lint-format.yml

name: Lint and Format

# Run this workflow on pull requests targeting 'main' or 'dev' branches
on:
pull_request:
branches:
- main
- dev

jobs:
lint-and-format:
runs-on: ubuntu-latest

steps:
# Step 1: Check out the code
- name: Checkout code
uses: actions/checkout@v4

# Step 2: Set up Node.js (specify the Node version if required)
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '20' # Adjust the version if necessary

# Step 3: Install dependencies
- name: Install dependencies
run: npm install

# Step 4: Run ESLint to check for linting issues
- name: Run ESLint
run: npm run lint -- --fix # Make sure you have a lint script in package.json

- name: List Changes
run: git status --porcelain

# Step 6: Check for changes after formatting
- name: Check for formatting changes
run: |
if [[ `git status --porcelain` ]]; then
echo "There are formatting changes."
echo "Please commit the changes locally or configure auto-formatting in Prettier."
exit 1
else
echo "No formatting changes needed."
fi
25 changes: 24 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,26 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
.DS_STORE
dist
dist-ssr
*.local
*.tsbuildinfo
.env

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
6 changes: 6 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"semi": true,
"singleQuote": true,
"printWidth": 80,
"trailingComma": "es5"
}
72 changes: 72 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# syntax=docker/dockerfile:1
ARG NODE_VERSION=20.16.0

################################################################################
# Use node image for base image for all stages.
FROM node:${NODE_VERSION}-alpine AS base

# Set working directory for all build stages.
WORKDIR /usr/src/app


################################################################################
# Create a stage for installing production dependecies.
FROM base AS deps

# Download dependencies as a separate step to take advantage of Docker's caching.
# Leverage a cache mount to /root/.npm to speed up subsequent builds.
# Leverage bind mounts to package.json and package-lock.json to avoid having to copy them
# into this layer.
RUN --mount=type=bind,source=package.json,target=package.json \
# workaround for npm optional dependencies bug: https://github.com/npm/cli/issues/4828
# --mount=type=bind,source=package-lock.json,target=package-lock.json \
--mount=type=cache,target=/root/.npm \
npm i --omit=dev

################################################################################
# Create a stage for building the application.
FROM deps AS dev-deps


# Download additional development dependencies before building, as some projects require
# "devDependencies" to be installed to build. If you don't need this, remove this step.
RUN --mount=type=bind,source=package.json,target=package.json \
# workaround for npm optional dependencies bug: https://github.com/npm/cli/issues/4828
# --mount=type=bind,source=package-lock.json,target=package-lock.json \
--mount=type=cache,target=/root/.npm \
npm i

FROM dev-deps AS build
# Copy the rest of the source files into the image.
COPY . .
# Run the build script.
RUN npx tsc -b
RUN npx vite build

################################################################################
# Create a new stage to run the application with minimal runtime dependencies
# where the necessary files are copied from the build stage.
FROM base AS final

# Use production node environment by default.
ENV NODE_ENV=production

# Run the application as a non-root user.
USER node

# Copy package.json so that package manager commands can be used.
COPY package.json .

# Copy the production dependencies from the deps stage and also
# the built application from the build stage into the image.
COPY --from=deps /usr/src/app/node_modules ./node_modules
COPY --from=build /usr/src/app/server ./
COPY --from=build /usr/src/app/dist ./dist



# Expose the port that the application listens on.
EXPOSE 8080

# Run the application.
CMD [ "node", "server.js" ]
2 changes: 2 additions & 0 deletions Dockerfile-postgres
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
FROM postgres:12.8
COPY ./scripts/db_init.sql /docker-entrypoint-initdb.d/
22 changes: 22 additions & 0 deletions README.Docker.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
### Building and running your application

When you're ready, start your application by running:
`docker compose up --build`.

Your application will be available at http://localhost:8080.

### Deploying your application to the cloud

First, build your image, e.g.: `docker build -t myapp .`.
If your cloud uses a different CPU architecture than your development
machine (e.g., you are on a Mac M1 and your cloud provider is amd64),
you'll want to build the image for that platform, e.g.:
`docker build --platform=linux/amd64 -t myapp .`.

Then, push it to your registry, e.g. `docker push myregistry.com/myapp`.

Consult Docker's [getting started](https://docs.docker.com/go/get-started-sharing/)
docs for more detail on building and pushing.

### References
* [Docker's Node.js guide](https://docs.docker.com/language/nodejs/)
50 changes: 49 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,49 @@
# TrailGuide
# TrailGuide

[TrailGuide](https://oslabs-beta.github.io/TrailGuideIO/) is a open source AWS cloud security solution for developers who need their cloud security reassured.

We built TrailGuide because we are passionate in solving the data overloading problem in the cloud. Join us!

- Track key management events: Quickly view events related to creating, modifying, or deleting AWS resources.
- Visualize CloudTrail data: Present data in easy-to-read formats, such as pie charts for event distribution and heatmaps for geographical IP access.
- Analyze recent events based on various criteria, such as IP addresses, event types, associated users, and timestamps.

Every single part is fully open source! Fork it, extend it, or deploy it to your own server.

<img src="./readmeAssets//trailguide-readme-main.webp" alt="List View Screenshot" width="500">

# Installation and Spin-Up

- Make sure you have docker installed
- Create your compose.yml file
- (see our starter version in [Docker Hub](https://hub.docker.com/r/trailguide/trailguide-prod), or copy the one from this repo )
- run `docker compose up` on the command line

# Getting Start:

1. Use the signup link to create user

<img src="./readmeAssets/sign-up.png" alt="List View Screenshot" width="500">

2. Login

<img src="./readmeAssets/log-in.png" alt="List View Screenshot" width="500">

3. Copy paste the aws credentials in the fields in the profile

<img src="./readmeAssets/aws-credential.png" alt="List View Screenshot" width="500">

## Shoutouts :tada:

Omnivore takes advantage of some great open source software:

- [TypeScript](https://www.typescriptlang.org/) - Most of our backend and frontend are written in TypeScript.
- [PostgreSQL](https://www.postgresql.org/)- For managing complex queries and storing event data, PostgreSQL is our go-to. Its reliability and performance are key to managing and analyzing extensive data, enhancing the robustness of our monitoring and analytics features.
- [Docker](https://www.docker.com/)- Thanks to Docker, deploying our platform is seamless and consistent, whether locally or on the cloud. Docker allows us to containerize our ML models and backend services, ensuring reliable and scalable performance for our users.
- [AWS](https://aws.amazon.com/)- AWS forms the backbone of TrailGuide, providing the infrastructure and data streams that allow us to offer real-time monitoring and security insights for AWS environments. CloudTrail logs enable us to dive deep into user activity and detect anomalies as they happen.
- [Scikit-learn](https://scikit-learn.org/)- TrailGuide’s anomaly detection thrives with Scikit-learn's Isolation Forest, enabling real-time detection of unusual activity in CloudTrail logs with efficiency and accuracy.
- And many more awesome libraries, just checkout our package files to see what we are using.

## Requirements for development

TraildeGuide is written in TypeScript and JavaScript.
17 changes: 17 additions & 0 deletions client/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="A brief description of your application." />
<link href="https://fonts.googleapis.com/css2?family=Fredoka&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c&display=swap" rel="stylesheet">
<link rel="icon" href="path/to/favicon.ico" />
<title>TrailGuide</title>
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
</head>
<body>
<div id="root"></div>
<script type="module" src="src/main.tsx" defer></script>
</body>
</html>
Loading
Loading