commit 45ce3e5086608b1bee5794c9a6a5f4cd5f313c88 Author: JoΓ£o Loureiro Date: Wed Jun 11 18:23:30 2025 -0300 Add initial project files including SVG cover, README, LICENSE, and .gitignore diff --git a/.github/assets/cover.svg b/.github/assets/cover.svg new file mode 100644 index 0000000..1a35f52 --- /dev/null +++ b/.github/assets/cover.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ceaea36 --- /dev/null +++ b/.gitignore @@ -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.* + diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..c5fffc0 --- /dev/null +++ b/LICENSE @@ -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. diff --git a/README.md b/README.md new file mode 100644 index 0000000..d8500d9 --- /dev/null +++ b/README.md @@ -0,0 +1,98 @@ +# Happy + +
+ Happy +
+ +
+ Project Status + Next Level Week #3 +
+ +## πŸ“– 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 + 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. \ No newline at end of file