Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
VictiniX888 committed Feb 15, 2024
1 parent 39c7e8f commit 5ff5877
Showing 1 changed file with 21 additions and 16 deletions.
37 changes: 21 additions & 16 deletions README.md
Expand Up @@ -28,19 +28,24 @@ This monorepo is powered by [Nx](https://nx.dev), a smart, fast and extensible b

- `/apps/sso`: our own HackSC SSO that provides authorization and authentication for users to access various Hibiscus platforms.
- `/apps/dashboard`: a dashboard/portal for hackers (normal participants) to access various services.

- **Teams management**: allows people to manage their teams, create teams, find other teams, etc...
- **Hacker application**: a Typeform-like hacker application form built by us to receive application submissions.
- **Hacker portal**: for participants to register for our events. Also for hackers to check battlepass leaderboard and evets calendar during events.
- **Sponsor portal**: for sponsors/partners to check participants who have checked into their booths/events.
- **Identity portal**: for volunteers/admins to check-in participants to events using RFID wristbands.
- `/apps/podium`: our judging portal for judges to rank hackathon projects using a drag-and-drop list.

### Libraries

- `/libs/env`: library to preprocess environment variables, re-exporting them as a Typescript object for type safety
- `/libs/analytics`: React/Javascript scripts for web analytics purposes, including a modular script to automatically add Google Analytics 4 onto any React app.
- `/libs/styles`: various styles we use in HackSC for our design systems + injectable `GlobalStyles` objects to apply global fonts and colors to a React app.
- `/libs/types`: Typescript types to be reusable across apps
- `/libs/ui`: this composes of 2 things:
- `/libs/hibiscus-supabase-client`: wrapper for Supabase client
- `/libs/hibiscus-supabase-context`: React Context wrapping `hibiscus-supabase-client`
- `/libs/sso-client`: helper functions for SSO capabilities, middleware templates
- `/libs/styles`: (deprecated) various styles we use in HackSC for our design systems + injectable `GlobalStyles` objects to apply global fonts and colors to a React app.
- `/libs/ui`: (deprecated) this composes of 2 things:
1. General wrapper elements for text and headings
2. **Themeless UI kit**: when the hackathon is over, we use this theme
- `/libs/ui-kit-2023`: UI kit for HackSC 2023
- `/libs/ui-kit-2023`: (deprecated) UI kit for HackSC 2023

### Generators and tools

Expand All @@ -49,47 +54,47 @@ This monorepo is powered by [Nx](https://nx.dev), a smart, fast and extensible b

## Generate an application

Run `nx g @nrwl/react:app my-app` to generate an application.
Run `yarn nx g @nrwl/next:application` to generate a NextJS application.

> You can use any of the plugins above to generate applications as well.
When using Nx, you can create multiple applications and libraries in the same workspace.

## Generate a library

Run `nx g @nrwl/react:lib my-lib` to generate a library.
Run `yarn nx generate @nrwl/node:library my-library_name` to generate a library.

> You can also use any of the plugins above to generate libraries as well.
Libraries are shareable across libraries and applications. They can be imported from `@hibiscus/mylib`.

## Development server

Run `nx serve my-app` for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.
Run `yarn nx serve my-app` for a dev server. Navigate to http://localhost:4200/ (or the port specified by the app). The app will automatically reload if you change any of the source files.

## Code scaffolding

Run `nx g @nrwl/react:component my-component --project=my-app` to generate a new component.
Run `yarn nx g @nrwl/react:component my-component --project=my-app` to generate a new component.

## Build

Run `nx build my-app` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build.
Run `yarn nx build my-app` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build.

## Running unit tests

Run `nx test my-app` to execute the unit tests via [Jest](https://jestjs.io).
Run `yarn nx test my-app` to execute the unit tests via [Jest](https://jestjs.io).

Run `nx affected:test` to execute the unit tests affected by a change.
Run `yarn nx affected:test` to execute the unit tests affected by a change.

## Running end-to-end tests

Run `nx e2e my-app` to execute the end-to-end tests via [Cypress](https://www.cypress.io).
Run `yarn nx e2e my-app` to execute the end-to-end tests via [Cypress](https://www.cypress.io).

Run `nx affected:e2e` to execute the end-to-end tests affected by a change.
Run `yarn nx affected:e2e` to execute the end-to-end tests affected by a change.

## Understand your workspace

Run `nx graph` to see a diagram of the dependencies of your projects.
Run `yarn nx graph` to see a diagram of the dependencies of your projects.

## Further help

Expand Down

0 comments on commit 5ff5877

Please sign in to comment.