-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
**As part of this PR the following has been completed:** - Rewrote the entire project in NestJS - Reworked the structure of the project to make it easier to identify key areas. With each new section there are various README files which discuss the section. - Added various unit tests with Vitest to cover all the pieces of functionality with the help of Cursor - The project is now type safe, all response interfaces are generated from the Graphql schema. Every other interface is manually maintained as the data is from The Open Movie Database's systems OR the desired types couldn't be automated. - Any environment variables required are now validated via Joi (Would have used zod but couldn't OR you have to do a lot of work just to get it to work) - Updated the github actions to use yarn latest version. - Added a "Discover" module to allow users to quickly search for shows or movies, for now this just mimics what the The Open Movie Database discover page is doing. There still some work that needs doing about this, currently it fetches one one page at a time to get this working at the UI layer it'll need to use an infinite query
- Loading branch information
Showing
273 changed files
with
25,160 additions
and
11,154 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1 @@ | ||
./README.md | ||
|
||
node_modules/* | ||
|
||
*.test.js | ||
|
||
package.json | ||
|
||
package-lock.json | ||
|
||
./.github/workflows/**/*.yml | ||
.github/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,64 +1,50 @@ | ||
# Job name | ||
name: Application Linting | ||
name: Lint | ||
|
||
# When the to run the greeting | ||
on: [pull_request, push] | ||
|
||
# Jobs to run for the action (You can have multiple actions in one file) | ||
jobs: | ||
run-linters: | ||
# Job display name | ||
name: Running the eslint checks | ||
|
||
# Runs on a Linux based OS | ||
name: Run linters | ||
runs-on: ubuntu-latest | ||
|
||
# Run the job on Node 20 and 23 which better support modern testing frameworks | ||
strategy: | ||
matrix: | ||
node-version: [20.x, 21.x, 23.x] | ||
|
||
# Steps involved for this particular task | ||
steps: | ||
# Checks out the reporsitoy and enables the use of commands made avaliable in the project ie npm run | ||
# Checks out the repository and enables the use of commands made available in the project ie npm run | ||
- name: Check out Git repository | ||
uses: actions/checkout@v2 | ||
|
||
# Setup Nodes on the versions specified in the matrix stratergy | ||
- name: Set up Node.js version | ||
- name: Set up Node.js version ${{ matrix.node-version }} | ||
uses: actions/setup-node@v1 | ||
with: | ||
node-version: 12 | ||
node-version: ${{ matrix.node-version }} | ||
|
||
# Cache the node_modules | ||
- name: Cache node modules | ||
uses: actions/cache@v2 | ||
- name: Enable Corepack | ||
run: corepack enable | ||
|
||
# Defining the cache env config ie the key | ||
env: | ||
cache-name: cache-node-modules | ||
- name: Set Yarn version | ||
run: yarn set version 4.2.2 | ||
|
||
# Caching options (https://github.com/actions/cache) | ||
- name: Cache yarn dependencies | ||
uses: actions/cache@v2 | ||
env: | ||
cache-name: cache-yarn-dependencies | ||
with: | ||
# npm cache files are stored in `~/.npm` on Linux/macOS | ||
path: ~/.npm | ||
|
||
# Key for caching the files initally | ||
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | ||
|
||
# Restore keys | ||
path: | | ||
.yarn/cache | ||
.yarn/unplugged | ||
.yarn/build-state.yml | ||
.yarn/install-state.gz | ||
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | ||
restore-keys: | | ||
${{ runner.os }}-build-${{ env.cache-name }}- | ||
${{ runner.os }}-build- | ||
${{ runner.os }}- | ||
${{ runner.os }}-yarn- | ||
# Installs all the project dependencies e.g. prettier, eslint etc via a custom project script | ||
- name: Install Node.js dependencies | ||
run: npm run allDependencies | ||
- name: Install dependencies | ||
run: yarn install | ||
|
||
# Run the linting action | ||
- name: Run linters | ||
uses: samuelmeuli/lint-action@v1 | ||
with: | ||
github_token: ${{ secrets.GITHUB_TOKEN }} # Authorizes the github action via a Github token which is for this repo only (Generated automatically) | ||
eslint: true # Enables eslint | ||
prettier: true # Enables prettier to prettieifer the code when commiting and spots any violations | ||
auto_fix: true # Auto fixes an prettier or eslint violations | ||
git_name: 'TheOpenMovieDB-GraphQL-Example BOT' | ||
git_email: '[email protected]' | ||
commit_message: 'TheOpenMovieDB-GraphQL-Example BOT has fixed an eslint/prettier issue' # Might need removing if it causes the linting to break | ||
run: yarn lint |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.