├── .github
├── ISSUE_TEMPLATE
│ ├── bug_report.md
│ ├── feature_report.md
│ └── other_issue.md
└── pull_request_template.md
├── .gitignore
├── README.md
├── package-lock.json
├── package.json
├── public
├── favicon.ico
├── index.html
└── manifest.json
└── src
├── App.css
├── App.js
├── Assets
└── shuffle.svg
├── Components
├── Console
│ ├── console.module.css
│ └── index.js
├── GithubButton
│ ├── githubbutton.module.css
│ └── index.js
├── Navbar
│ ├── index.js
│ └── navbar.module.css
└── Playground
│ ├── index.js
│ └── playground.module.css
├── Utilities
└── UtilityFunctions.js
└── index.js
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug Report
3 | about: Create a bug report to help us resolving the bug
4 | title: '🪲[BUG] Write a suitable title'
5 | lables: 'bug'
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Describe the bug**
11 | A clear and concise description of what the bug is.
12 |
13 | **To Reproduce**
14 | Steps to reproduce the behavior:
15 | 1. Go to '...'
16 | 2. Click on '....'
17 | 3. Scroll down to '....'
18 | 4. See error
19 |
20 | **Expected behavior**
21 | A clear and concise description of what you expected to happen.
22 |
23 | **Screenshots**
24 | If applicable, add screenshots to help explain your problem.
25 |
26 | **Desktop (please complete the following information):**
27 | - OS: [e.g. iOS]
28 | - Browser [e.g. chrome, safari]
29 | - Version [e.g. 22]
30 |
31 | **Smartphone (please complete the following information):**
32 | - Device: [e.g. iPhone6]
33 | - OS: [e.g. iOS8.1]
34 | - Browser [e.g. stock browser, safari]
35 | - Version [e.g. 22]
36 |
37 | **Additional context**
38 | Add any other context about the problem here.
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature Report
3 | about: Suggest an interesting feature idea for this project
4 | title: '💡[FEATURE] Write a suitable title'
5 | lables: 'enhancement'
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12 |
13 | **Describe the solution you'd like**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Describe alternatives you've considered**
17 | A clear and concise description of any alternative solutions or features you've considered.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/other_issue.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Other
3 | about: Issues that are not categorized yet
4 | title: '⚡[OTHER] Give a suitable title'
5 | lables: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | Give a description of the problem/anything that you need to inform us.
--------------------------------------------------------------------------------
/.github/pull_request_template.md:
--------------------------------------------------------------------------------
1 | # Pull Request Template
2 |
3 | ## Fixes Issue
4 |
5 | **Closes #[issue_number_here]**
6 |
7 | ## Proposed Changes
8 |
9 |
10 |
11 | ## Checklist
12 |
13 | Please check all the applicable boxes. To mark a box as done, use the following conventions:
14 |
15 | ```
16 | - [x] - Correct; marked as done
17 | - [ ] - Not correct; marked as **not** done
18 | ```
19 |
20 | - [ ] My code follows the code style of this project.
21 | - [ ] My commit messages are clear and concise
22 | - [ ] The title and description of the PR are clear and explain the approach.
23 | - [ ] I have performed a self-review of the code.
24 | - [ ] I have added proper comments wherever needed.
25 | - [ ] I have run my code through prettier to ensure consistency.
26 |
27 | ## Notes to Reviewers
28 |
29 |
30 |
31 | ## Screenshots
32 |
33 |
34 |
35 | ## Test Plan
36 |
37 |
38 |
39 | ## Related Issues
40 |
41 |
42 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # production
12 | /build
13 |
14 | # misc
15 | .DS_Store
16 | .env.local
17 | .env.development.local
18 | .env.test.local
19 | .env.production.local
20 |
21 | npm-debug.log*
22 | yarn-debug.log*
23 | yarn-error.log*
24 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Screenbows
2 | Screenbows is a web-based color generation tool that allows you to create and download beautiful color palettes as image files for your design and development projects
3 |
4 | The project is deployed at [Screenbows](https://manancodes.github.io/Screenbows/)
5 |
6 | 
7 | 
8 | 
9 | 
10 |
11 | ## Why Screenbows?
12 | Screenbows offers a user-friendly way to generate and download beautiful colors for your projects.
13 |
14 | Whether you need color inspiration or want to create eye-catching visuals, Screenbows simplifies the process by providing a range of features for color generation and customization.
15 |
16 | With Screenbows, you can effortlessly obtain hex codes for colors and save your preferred color as an image, making it an essential tool for designers, developers, and anyone in need of vibrant color schemes.
17 |
18 | ## Table of Contents
19 |
20 | - [Features](#features)
21 | - [Installation](#installation)
22 | - [Prerequisites](#prerequisites)
23 | - [Installation Steps](#installation-steps)
24 | - [Usage](#usage)
25 | - [Contributing](#contributing)
26 |
27 |
28 | ## Features
29 |
30 | - Click on the button with the shuffle icon to generate a new color.
31 | - Get the hex code of the color that is generated.
32 | - Download the color as an image with one click.
33 | - Adjustable width and height of the image.
34 | - Easy-to-use.
35 | - The hex code can be added manually as well, simply type the preferred code in the hexa code input box
36 |
37 | ## Installation
38 |
39 | ### Prerequisites
40 |
41 | Before you begin, ensure you have met the following requirements:
42 |
43 | - Node.js installed on your local machine.
44 | - Git installed on your local machine.
45 |
46 | ### Installation Steps
47 |
48 | 1. Clone the repository to your local machine:
49 |
50 | `git clone https://github.com/manancodes/Screenbows`
51 |
52 | 2. Change directory to the project folder:
53 |
54 | `cd Screenbows`
55 |
56 | 3. Install the dependencies:
57 |
58 | `npm install`
59 |
60 | 4. Run Screenbows:
61 |
62 | `npm start`
63 |
64 | ## Usage
65 |
66 | Screenbows is designed to be user-friendly and is accessible on both desktop and mobile devices. Follow these steps to make the most of this color generation tool:
67 |
68 | 1. **Generate a New Color:** Click the "Shuffle icon" button to generate a new color.
69 |
70 | 
71 |
72 |
73 | 2. **Get the Hex Code:** Once a color is generated, you can easily obtain the hex code of the color by copying it.
74 |
75 | 
76 |
77 |
78 | 3. **Download as Image:** Want to save the color for later use? Simply click the "Download" button to save it as an image.
79 |
80 | 
81 |
82 |
83 | 4. **Customize Image Dimensions:** If you need a color of specific dimensions, you can adjust the width and height of the image before downloading it.
84 |
85 | 
86 |
87 |
88 | 5. **Manually Enter Hex Code:** If you have a specific color in mind, you can manually input the hex code in the provided input box to generate that exact color.
89 |
90 | 
91 |
92 |
93 | ## Contributing
94 | We welcome contributions from the community. If you would like to contribute to Screenbows, please follow these steps:
95 |
96 | - Fork the repository on GitHub.
97 | - Clone your fork to your local machine.
98 | - Create a new branch with a descriptive name.
99 | - Make your changes and commit them.
100 | - Push your changes to your fork on GitHub.
101 | - Open a pull request on the main repository.
102 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "screenbows",
3 | "version": "0.1.0",
4 | "homepage": "https://manancodes.github.io/Screenbows",
5 | "private": true,
6 | "dependencies": {
7 | "@testing-library/jest-dom": "^5.16.5",
8 | "@testing-library/react": "^13.4.0",
9 | "@testing-library/user-event": "^13.5.0",
10 | "dom-to-image": "^2.6.0",
11 | "file-saver": "^2.0.5",
12 | "react": "^18.2.0",
13 | "react-color": "^2.19.3",
14 | "react-dom": "^18.2.0",
15 | "react-scripts": "5.0.1",
16 | "web-vitals": "^2.1.4"
17 | },
18 | "scripts": {
19 | "start": "react-scripts start",
20 | "build": "react-scripts build",
21 | "test": "react-scripts test",
22 | "eject": "react-scripts eject",
23 | "predeploy": "npm run build",
24 | "deploy": "gh-pages -d build"
25 | },
26 | "eslintConfig": {
27 | "extends": [
28 | "react-app",
29 | "react-app/jest"
30 | ]
31 | },
32 | "browserslist": {
33 | "production": [
34 | ">0.2%",
35 | "not dead",
36 | "not op_mini all"
37 | ],
38 | "development": [
39 | "last 1 chrome version",
40 | "last 1 firefox version",
41 | "last 1 safari version"
42 | ]
43 | },
44 | "devDependencies": {
45 | "gh-pages": "^5.0.0"
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/manancodes/Screenbows/dba230433bb65e968779021a0eeb62a442dcca8a/public/favicon.ico
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |