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 76 commits into
base: feedback
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
3f3f3b6
Setting up GitHub Classroom Feedback
github-classroom[bot] Sep 12, 2023
64d66bc
chore(project): add base project structure
GhaniBahri Sep 13, 2023
ef196d5
feat(project): create required folders, pages, and components
GhaniBahri Sep 13, 2023
70cd2fc
feat: making of Sidebar component
medshk Sep 13, 2023
61544c7
feat(utils folder): a dynamic function that takes url to fech data
GhaniBahri Sep 14, 2023
f91453a
feat(page): add actors page
GhaniBahri Sep 14, 2023
9151e23
feat(component): cretaing and styling a navbar
Amel7400 Sep 14, 2023
58373be
Merge branch 'feature/sidebar-component' into dev
GhaniBahri Sep 14, 2023
46db01a
refactor(file): install react-icon library
GhaniBahri Sep 14, 2023
9ef77dd
refactor(file): manage conflict
GhaniBahri Sep 14, 2023
4daae15
refactor(files): manage conflict
GhaniBahri Sep 14, 2023
c0f0a9f
feat(component): add movie card component
fketta Sep 14, 2023
f307aa0
refactor(file): import components
GhaniBahri Sep 14, 2023
445e4c8
Merge branch 'moviecard' into dev
GhaniBahri Sep 14, 2023
494d7a6
feat(file): add actor card
GhaniBahri Sep 14, 2023
3bfede8
feat(page): add single actor page
GhaniBahri Sep 15, 2023
453e50c
feat(file): add filter, show movies by genres
GhaniBahri Sep 16, 2023
d76d66c
style(file): add default poster if poster not provided
GhaniBahri Sep 16, 2023
7dad039
refactor(component): update the layout of the app
medshk Sep 16, 2023
e7f9877
style(file): add dark mode
GhaniBahri Sep 16, 2023
e7f327c
Merge branch 'feature/layout' into dev
GhaniBahri Sep 16, 2023
c428e28
refactor(component): update style
GhaniBahri Sep 16, 2023
d2b6122
feat(add movie page): add movie page
rahemSorour Sep 16, 2023
df231b0
feat(component): create a footer and style it
Amel7400 Sep 16, 2023
0ba7b96
refactor(page): add home page
GhaniBahri Sep 16, 2023
bf3eaeb
Merge branch 'filter-genres' into dev
GhaniBahri Sep 16, 2023
6d46f9d
feat(page): add pagination to movies page, change MovieCard, add Movi…
fketta Sep 16, 2023
48ece8e
feat(component): add routing functionality to sidebar and navbar
medshk Sep 16, 2023
5caff56
refactor: marge pagiantion branch into dev branch
medshk Sep 16, 2023
c936ce9
Merge branch 'feature/add-navbar-functionality' into dev
medshk Sep 16, 2023
617b888
refactor(components and pages): fixing layout styling
medshk Sep 16, 2023
0f07f07
feat(page): add home page
GhaniBahri Sep 17, 2023
61d3619
feat(page): fetch movies data
rahemSorour Sep 17, 2023
8120209
refactor(component): merge two different branches together
fketta Sep 17, 2023
95e03cc
refactor(page): fetch movies with API
GhaniBahri Sep 17, 2023
55df316
feat(component): creating a member card and styling it to make the fo…
Amel7400 Sep 17, 2023
7774852
refactor(page): finish single movie page
GhaniBahri Sep 17, 2023
ecacd8b
Merge branch 'darkMode' into dev
GhaniBahri Sep 17, 2023
03bfd5b
feat(file): merge dark mode
GhaniBahri Sep 17, 2023
1b0d220
style(component): edit ActorCard, edit HomePage
fketta Sep 17, 2023
11c76c8
Merge branch 'actor-card' into movie_page
GhaniBahri Sep 18, 2023
03f5da9
feat(page): finish single movie page
GhaniBahri Sep 18, 2023
afc0750
feat(page): add search function, search page
GhaniBahri Sep 18, 2023
c348d6b
feat(component): add a DarkMode component, styled pages and component…
fketta Sep 18, 2023
60a98cf
refactor(file): add style to search page
GhaniBahri Sep 18, 2023
0fe1de6
fix(file): fix search bug
GhaniBahri Sep 18, 2023
ae6431e
refactor(project): merge footer, fix style
GhaniBahri Sep 18, 2023
f82ba10
refactor(project): merge darkmode branch
GhaniBahri Sep 18, 2023
b59f756
refactor(page): merge homepage branch
GhaniBahri Sep 18, 2023
337e1bb
refactor(project): merge homepage branch
GhaniBahri Sep 18, 2023
e5f1b14
Merge branch 'SearchMovies' into dev
GhaniBahri Sep 18, 2023
a364544
feat(component and page): add functionality to navigations
medshk Sep 18, 2023
94eefee
style(file): add style to search page
GhaniBahri Sep 18, 2023
6bd46a6
fix(page): fix pagination when fetching more genres
medshk Sep 18, 2023
f4a6173
refactor(all project): merge add_moviePage_functionality branch to de…
medshk Sep 18, 2023
f9969f1
feat(page): styel movie page
rahemSorour Sep 18, 2023
42ae7fb
style(file): fix single movie page style
GhaniBahri Sep 18, 2023
d2e281a
refactor(page): merge movie page branche in dev
GhaniBahri Sep 18, 2023
b9f27c1
style(components and pages): fix the dark mode bugs that showed up af…
fketta Sep 18, 2023
a11e5d4
Merge branch 'fixdarkmode' into dev
fketta Sep 18, 2023
b9f17b0
refactor(components and pages): added links to the moviecards, fixed …
fketta Sep 18, 2023
482c492
style(component): add genres to movie card
GhaniBahri Sep 19, 2023
ac2472b
refactor(components and pages): add some additional homepage styling
fketta Sep 19, 2023
7242ace
refactor(files): add items to home Page
GhaniBahri Sep 19, 2023
10e6874
refactor(file): correct typo
GhaniBahri Sep 19, 2023
3073cea
refactor(file): merge home_styling branch
GhaniBahri Sep 19, 2023
cf623dc
refactor(files): add missing props
GhaniBahri Sep 19, 2023
34b15a9
fix(component and pages): fix layout of the page
medshk Sep 19, 2023
1807120
Merge branch 'fix/layout' into dev
medshk Sep 19, 2023
91089cf
refactor(file): add member's image to images folder
medshk Sep 19, 2023
dae64d7
fix(component): fixing navbar links
medshk Sep 19, 2023
01444ca
fix(file): fix trailer key not available
GhaniBahri Sep 19, 2023
ee779a2
refactor(file): fix style sidebar
GhaniBahri Sep 19, 2023
7e616b2
fix(file): fix latest movies bug
GhaniBahri Sep 19, 2023
60ec5e1
refactor(folders): organize folders
fketta Sep 19, 2023
6b6bdcd
fix(component and page): fix mobile view issues
medshk Dec 18, 2023
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
4 changes: 4 additions & 0 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"presets": ["next/babel"],
"plugins": []
}
3 changes: 3 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"extends": ["next"]
}
35 changes: 35 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules
/.pnp
.pnp.js

# testing
/coverage

# next.js
/.next/
/out/

# production
/build

# misc
.DS_Store
*.pem

# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# local env files
.env*.local

# vercel
.vercel

# typescript
*.tsbuildinfo
next-env.d.ts
5 changes: 5 additions & 0 deletions .husky/commit-msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

npx --no -- commitlint --edit ${1}
npx --no -- commitlint --edit ${1}
5 changes: 5 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

npm run format:fix
npx lint-staged
5 changes: 5 additions & 0 deletions .prettierrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
module.exports = {
semi: false,
singleQuote: false, // Do you want to use double or single quotations?
trailingComma: "all",
}
28 changes: 28 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "Next.js: debug server-side",
"type": "node-terminal",
"request": "launch",
"command": "npm run dev"
},
{
"name": "Next.js: debug client-side",
"type": "chrome",
"request": "launch",
"url": "http://localhost:3000"
},
{
"name": "Next.js: debug full stack",
"type": "node-terminal",
"request": "launch",
"command": "npm run dev",
"serverReadyAction": {
"pattern": "started server on .+, url: (https?://.+)",
"uriFormat": "%s",
"action": "debugWithChrome"
}
}
]
}
20 changes: 10 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,18 +42,18 @@ You will be able to practice:

The following thoughts are traps; steer away from them:

- *`This project is huge! I don't think I'm going to be able to do it.`* From your previous experiences, you know for a fact that everything starts big in the beginning but when you plan things and work on them they usually are not as big and scary as you thought.
- *`I don't know how to use [insert tool here] how am I going to deal with all of this?`* Again, don't worry. You have dealt with so many unknown things and just like you learned how to use them, you will be able to learn how to use any tool you want as long as you check its documentation.
- *`[Right from the beginning] How am I going to fix the bonus topic?`* DON'T GO THERE UNLESS YOU FINISH THE MAIN REQUIREMENTS FIRST!
- *`[After spending hours on an issue to fix it without reading the documentation or searching the issue on google] I will spend extra hours on this until I fix it`* This is a trap. You should always read the documentation and search for the solution.
- *`I'm so tired now!!!😩 I've been trying to fix this bug for 3 hours!!!`* In times like these, consider steping away from your computer and doing something else like playing with your pet, watching something funny, looking outside your window and enjoying cool air.
- _`This project is huge! I don't think I'm going to be able to do it.`_ From your previous experiences, you know for a fact that everything starts big in the beginning but when you plan things and work on them they usually are not as big and scary as you thought.
- _`I don't know how to use [insert tool here] how am I going to deal with all of this?`_ Again, don't worry. You have dealt with so many unknown things and just like you learned how to use them, you will be able to learn how to use any tool you want as long as you check its documentation.
- _`[Right from the beginning] How am I going to fix the bonus topic?`_ DON'T GO THERE UNLESS YOU FINISH THE MAIN REQUIREMENTS FIRST!
- _`[After spending hours on an issue to fix it without reading the documentation or searching the issue on google] I will spend extra hours on this until I fix it`_ This is a trap. You should always read the documentation and search for the solution.
- _`I'm so tired now!!!😩 I've been trying to fix this bug for 3 hours!!!`_ In times like these, consider steping away from your computer and doing something else like playing with your pet, watching something funny, looking outside your window and enjoying cool air.

#### Confidence boosters

In times of doubts remember these:

- *`This project will be a huge addition to my already big list of projects that will increase my future prospects of getting hired`*
- *`The internet is FULL of resources that any one can use to learn about anything.`*
- *`I've worked on 3 projects. They seemed difficult in the beginning but I still aced them. I'm awesome!`*
- *`3 months ago, my biggest issues and worries are how to write the correct class name to change an HTML element's color. Now, I'm dealing with bigger things because I've learned so much more. My current worries and issues will be my HTML and CSS of my future.`*
- *`I'm not alone on this team. There are 2 more people who got my back.`*
- _`This project will be a huge addition to my already big list of projects that will increase my future prospects of getting hired`_
- _`The internet is FULL of resources that any one can use to learn about anything.`_
- _`I've worked on 3 projects. They seemed difficult in the beginning but I still aced them. I'm awesome!`_
- _`3 months ago, my biggest issues and worries are how to write the correct class name to change an HTML element's color. Now, I'm dealing with bigger things because I've learned so much more. My current worries and issues will be my HTML and CSS of my future.`_
- _`I'm not alone on this team. There are 2 more people who got my back.`_
18 changes: 9 additions & 9 deletions Requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,12 +50,12 @@ Your website need to have the following pages:
7. Director's name
8. Overview of the movie
9. The main 5 actors of the movies in the credit section (Use the API for this)
10. A related movies section which includes at least five related movies (Use the API for this)
10. A related movies section which includes at least five related movies (Use the API for this)
11. A trailer section that has the movie trailer from youtube
12. The movie production company name and logo.
2. Functionality:
1. Clicking an actor in the main actors should go to the single actor page.
2. Clicking on a movie in the related movies section should take you to the Single movie page (#3)
1. Clicking an actor in the main actors should go to the single actor page.
2. Clicking on a movie in the related movies section should take you to the Single movie page (#3)
4. Actors page - Shows a list of all popular actors. Clicking on an actor takes you to the Single actors page (#5)
5. Single actors page - Shows information about the current actor.
1. The information includes:
Expand Down Expand Up @@ -92,7 +92,7 @@ src/
│ ├─ index.jsx // Home page
│ ├─ movies/
│ ├─ index.jsx // Movies page
│ ├─ [movieId].jsx // Single movie page
│ ├─ [movieId].jsx // Single movie page
├─ components/
│ ├─ Navbar/
│ ├─ Navbar.jsx
Expand Down Expand Up @@ -169,8 +169,8 @@ After finishing the project, do the following:

1. Deploy the project on netlify so you can have a link to use it in your portfolio. Don't forget to add a link in your website that points to this project.
2. Remove everything from this README.md file and add the following content to it:
1. A screenshot of the website.
2. Your project's name.
3. Description of the project.
4. Tools used.
5. Your names.
1. A screenshot of the website.
2. Your project's name.
3. Description of the project.
4. Tools used.
5. Your names.
2 changes: 1 addition & 1 deletion Score-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
This project will be graded. We will follow the following score guide so keep it in mind.

| Criteria | Score |
|---------------------------------------------|-------|
| ------------------------------------------- | ----- |
| Project Requirements | 3 |
| Used Github issues correctly | 1 |
| Used Github PRs correctly (Github workflow) | 1 |
Expand Down
11 changes: 7 additions & 4 deletions Setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ Create a new file called `.prettierrc.js` in the root folder and put the followi
module.exports = {
semi: false,
singleQuote: false, // Do you want to use double or single quotations?
trailingComma: 'all',
trailingComma: "all",
}
```

Expand Down Expand Up @@ -91,7 +91,7 @@ npx lint-staged

Now run `npm run prepare` that we created previously to initialize the new changes we created.

### 4. [Commitizen](https://github.com/commitizen/cz-cli) + [Commitlint]() [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/)
### 4. [Commitizen](https://github.com/commitizen/cz-cli) + [Commitlint]() [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/)

Commitizen and Conventional Commits are used to force correct code commit messages in the project. Commitizen is the tool while Conventional commits is the standard while Commitlint is a tool used to enforce that you follow the conventions.

Expand Down Expand Up @@ -128,7 +128,8 @@ npm install --save-dev @commitlint/{config-conventional,cli}
npm install --save-dev @commitlint/config-conventional @commitlint/cli
```

Create configuration file with the following command
Create configuration file with the following command

```
echo "module.exports = {
extends: ['@commitlint/config-conventional'],
Expand Down Expand Up @@ -156,7 +157,9 @@ echo "module.exports = {
},
};" > commitlint.config.js
```

Now let's finalize this by adding the precommit message

```
npx husky add .husky/commit-msg 'npx --no -- commitlint --edit ${1}'
```
Expand Down Expand Up @@ -208,4 +211,4 @@ Now go to `.eslintrc.json` and add change it to

Now run `npm run dev` your project should be ready.

If everything is running correctly, let's create our first commit using `git cz` then choose `chore` by going down the list and add the scope `project structure` and small short message that explains what you did. Press enter to leave the longer description empty (if you want)
If everything is running correctly, let's create our first commit using `git cz` then choose `chore` by going down the list and add the scope `project structure` and small short message that explains what you did. Press enter to leave the longer description empty (if you want)
25 changes: 25 additions & 0 deletions commitlint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
module.exports = {
extends: ["@commitlint/config-conventional"],
rules: {
// TODO Add Scope Enum Here
// 'scope-enum': [2, 'always', ['yourscope', 'yourscope']],
"type-enum": [
2,
"always",
[
"feat",
"fix",
"docs",
"chore",
"style",
"refactor",
"ci",
"test",
"perf",
"revert",
"build",
"vercel",
],
],
},
}
7 changes: 7 additions & 0 deletions jsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"compilerOptions": {
"paths": {
"@/*": ["./src/*"]
}
}
}
6 changes: 6 additions & 0 deletions next.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/** @type {import('next').NextConfig} */
const nextConfig = {
reactStrictMode: true,
}

module.exports = nextConfig
Loading