Add initial project files including SVG cover, README, LICENSE, and .gitignore

This commit is contained in:
2025-06-11 18:23:30 -03:00
commit 45ce3e5086
4 changed files with 248 additions and 0 deletions

9
.github/assets/cover.svg vendored Normal file
View File

@@ -0,0 +1,9 @@
<svg width="1280" height="350" viewBox="0 0 1280 350" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect width="1280" height="350" fill="#15C3D6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M610.392 145.743C605.633 145.743 599.985 146.752 593.814 153.907V133.883C593.814 128.825 589.708 124.71 584.661 124.71C579.614 124.71 575.509 128.825 575.509 133.883V199.183C575.509 204.241 579.614 208.356 584.661 208.356C589.708 208.356 593.814 204.241 593.814 199.183V173.839C593.814 166.553 597.265 162.53 603.554 162.53C609.713 162.53 612.955 166.435 612.955 173.839V199.183C612.955 204.241 617.061 208.356 622.107 208.356C627.154 208.356 631.26 204.241 631.26 199.183V168.518C631.247 154.261 623.454 145.743 610.392 145.743ZM662.954 146.189C655.501 146.189 649.591 147.158 643.799 149.334C640.792 150.461 638.778 153.37 638.778 156.567C638.778 160.839 642.165 164.181 646.493 164.181C647.382 164.181 648.127 164.05 649.147 163.709C652.664 162.609 656.377 162.084 660.522 162.084C670.354 162.084 672.446 167.523 672.472 172.122C669.06 171.008 664.758 169.986 658.757 169.986C643.119 169.986 634.15 177.154 634.15 189.669V189.892C634.15 201.201 642.622 208.802 655.227 208.802C662.326 208.802 668.014 206.639 672.551 202.21C673.322 205.447 676.421 208.369 681.18 208.369C686.188 208.369 690.11 204.49 690.11 199.537V172.502C690.11 163.998 687.887 157.445 683.481 153.042C678.931 148.495 672.028 146.189 662.954 146.189ZM660.3 195.658C655.109 195.658 651.892 193.194 651.892 189.224V189.001C651.892 184.27 655.841 181.571 662.731 181.571C666.262 181.571 669.779 182.265 672.694 183.523V186.026C672.694 191.687 667.595 195.658 660.3 195.658ZM714.638 154.065C719.371 148.469 725.203 145.744 732.42 145.744C746.188 145.744 760.112 156.529 760.112 177.155V177.378C760.112 186.878 757.197 194.925 751.692 200.664C746.658 205.919 739.82 208.802 732.42 208.802C725.294 208.802 719.633 206.365 714.73 201.175V216.901C714.73 221.959 710.624 226.074 705.577 226.074C700.53 226.074 696.425 221.959 696.425 216.901V155.362C696.425 150.304 700.53 146.189 705.577 146.189C710.193 146.189 714.011 149.622 714.638 154.065ZM741.821 177.155C741.821 168.257 735.924 161.534 728.105 161.534C720.234 161.534 714.507 168.1 714.507 177.155V177.378C714.507 186.433 720.221 192.998 728.105 192.998C736.055 192.998 741.821 186.433 741.821 177.378V177.155ZM800.33 145.744C793.113 145.744 787.282 148.469 782.549 154.065C781.921 149.622 778.103 146.189 773.488 146.189C768.441 146.189 764.335 150.304 764.335 155.362V216.901C764.335 221.959 768.441 226.074 773.488 226.074C778.535 226.074 782.64 221.959 782.64 216.901V201.175C787.543 206.365 793.204 208.802 800.33 208.802C807.731 208.802 814.569 205.919 819.603 200.664C825.107 194.925 828.023 186.878 828.023 177.378V177.155C828.023 156.529 814.098 145.744 800.33 145.744ZM796.016 161.534C803.834 161.534 809.731 168.257 809.731 177.155V177.378C809.731 186.433 803.965 192.998 796.016 192.998C788.131 192.998 782.418 186.433 782.418 177.378V177.155C782.418 168.1 788.145 161.534 796.016 161.534ZM868.856 153.108C870.555 148.574 873.589 146.189 877.629 146.189C882.506 146.189 886.337 149.924 886.324 154.667C886.324 156.043 885.879 158.035 885.487 158.953L864.842 208.645C859.651 221.238 854.238 225.707 844.157 225.707C840.601 225.707 837.868 225.235 834.73 224.108C832.573 223.322 828.938 221.277 828.938 216.429C828.938 211.659 832.691 208.815 836.312 208.815C837.751 208.815 838.614 209.064 839.306 209.3C840.732 209.745 841.516 209.929 842.601 209.929C845.347 209.929 846.498 209.483 847.884 206.823L848.302 205.827L828.219 159.188C827.761 158.035 827.278 156.253 827.278 155.008C827.278 149.976 831.161 146.176 836.312 146.176C840.562 146.176 843.438 148.403 845.086 152.99L857.18 185.581L868.856 153.108Z" fill="white"/>
<path d="M525.233 137.521V191.121C525.233 212.395 507.919 229.643 486.564 229.643H482.653L462.68 249.527C461.898 250.306 460.816 250.8 459.616 250.8C458.508 250.8 457.504 250.397 456.735 249.722L456.396 249.384L456.383 249.371L436.58 229.643H432.655C411.313 229.643 394 212.395 394 191.121V137.521C394 116.248 411.313 99 432.668 99H486.564C507.919 99 525.233 116.248 525.233 137.521Z" fill="#FFD666"/>
<path d="M424.555 173.253C420.748 173.253 418.578 177.574 420.787 180.694C429.376 192.849 443.577 200.774 459.623 200.774C475.669 200.774 489.858 192.836 498.446 180.694C500.655 177.574 498.485 173.253 494.678 173.253H424.555Z" fill="white"/>
<path d="M446.851 154.858H423.88V143.316C423.88 136.945 429.025 131.775 435.366 131.775C441.706 131.775 446.851 136.945 446.851 143.316V154.858Z" fill="white"/>
<path d="M495.367 154.858H472.396V143.316C472.396 136.945 477.541 131.775 483.882 131.775C490.222 131.775 495.367 136.945 495.367 143.316V154.858Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

132
.gitignore vendored Normal file
View File

@@ -0,0 +1,132 @@
# ---> Node
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# Snowpack dependency directory (https://snowpack.dev/)
web_modules/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional stylelint cache
.stylelintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local
# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache
# Next.js build output
.next
out
# Nuxt.js build / generate output
.nuxt
dist
# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public
# vuepress build output
.vuepress/dist
# vuepress v2.x temp and cache directory
.temp
.cache
# Docusaurus cache and generated files
.docusaurus
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# TernJS port file
.tern-port
# Stores VSCode versions used for testing VSCode extensions
.vscode-test
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

9
LICENSE Normal file
View File

@@ -0,0 +1,9 @@
MIT License
Copyright (c) 2025 admin
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

98
README.md Normal file
View File

@@ -0,0 +1,98 @@
# Happy
<div align="center">
<img src=".github/assets/cover.svg" alt="Happy" />
</div>
<div align="center">
<img src="https://img.shields.io/badge/status-complete-brightgreen?style=for-the-badge" alt="Project Status" />
<img src="https://img.shields.io/badge/Next%20Level%20Week-%233-9466FF?style=for-the-badge" alt="Next Level Week #3" />
</div>
## 📖 About the Project
**Happy** is a full-stack web application designed to connect people with orphanages, making it easier to schedule visits and bring joy to children's lives. Developed during Rocketseat's Next Level Week, this platform allows users to find nearby orphanages on an interactive map, view detailed information about them, and contribute by registering new locations.
## ✨ Features
- 🗺️ **Interactive Map:** View all registered orphanages on a dynamic Google Map.
- 🔎 **Orphanage details**: Access detailed information for each orphanage, including photos, visiting hours, and instructions.
- **Create Orphanages:** A complete form allows users to add new orphanages to the platform, including image uploads and map location selection.
- 🚀 **Modern Frontend:** Built with the latest version of React (v18) for a fast and responsive user experience.
- 🔔 **Toast Notifications:** Provides a clean and modern UI for form validation and feedback.
## 🛠️ Tech Stack
This project is built with a modern, robust tech stack:
#### **Frontend**
- **React 18**
- **TypeScript**
- **React Router v6**
- **Google Maps API**
- **Axios** for API requests
- **React-Toastify** for notifications
#### **Backend**
- **Node.js** with **Express**
- **SQLite** for local development database
- **TypeORM** for database management and migrations
- **Multer** for handling file uploads
- **CORS** for handling cross-origin requests
## 🚀 Getting Started
To get a local copy up and running, follow these simple steps.
### Prerequisites
You'll need to have the following software installed on your machine:
* [Node.js](https://nodejs.org/en/) (v16 or newer recommended)
* [Yarn](https://yarnpkg.com/)
### Installation & Setup
1. **Clone the repository:**
```sh
git clone <repository-url>
cd happy-app
```
2. **Setup the Backend:**
* Navigate to the backend directory:
```sh
cd backend
```
* Install dependencies (this includes the `sqlite3` driver):
```sh
yarn install
```
* **Run the Backend Server:**
```sh
yarn dev
```
The backend will now be running on `http://localhost:3101`. Keep this terminal open.
3. **Setup the Frontend:**
* Open a **new terminal** and navigate to the frontend directory:
```sh
cd web
```
* Install dependencies:
```sh
yarn install
```
* **Configure the Google Maps API Key:** Create a new file named `.env` in the `web` directory. Add your Google Maps API key to this file.
```
REACT_APP_MAPS_API_KEY=YOUR_MAPS_API_KEY_HERE
```
* **Run the Frontend Server:**
```sh
yarn start
```
The frontend will now be running on `http://localhost:3100`. You can now access the application in your browser!
## 📜 License
This project is licensed under the MIT License.