{"id":26851536,"url":"https://github.com/dizzpy/greenie-web","last_synced_at":"2025-05-05T17:12:36.254Z","repository":{"id":284869422,"uuid":"919908904","full_name":"dizzpy/Greenie-Web","owner":"dizzpy","description":"Greenie Web Application is an eco-friendly platform designed to promote sustainability through challenges, gamification, and community engagement.","archived":false,"fork":false,"pushed_at":"2025-05-03T22:32:00.000Z","size":971,"stargazers_count":2,"open_issues_count":3,"forks_count":6,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-03T23:25:06.573Z","etag":null,"topics":["firebase","greenie","javascript","tailwindcss"],"latest_commit_sha":null,"homepage":"https://test.greenie.dizzpy.dev/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dizzpy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-21T08:27:26.000Z","updated_at":"2025-05-03T22:32:04.000Z","dependencies_parsed_at":"2025-04-17T10:28:02.308Z","dependency_job_id":"d9368e69-8318-4b98-af09-167d796ad5bc","html_url":"https://github.com/dizzpy/Greenie-Web","commit_stats":null,"previous_names":["dizzpy/greenie-web"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dizzpy%2FGreenie-Web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dizzpy%2FGreenie-Web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dizzpy%2FGreenie-Web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dizzpy%2FGreenie-Web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dizzpy","download_url":"https://codeload.github.com/dizzpy/Greenie-Web/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252542066,"owners_count":21764907,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["firebase","greenie","javascript","tailwindcss"],"created_at":"2025-03-30T22:31:58.438Z","updated_at":"2025-05-05T17:12:36.234Z","avatar_url":"https://github.com/dizzpy.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Greenie Web Application\n\n## Description\n\nGreenie Web Application is an eco-friendly platform designed to promote sustainability through challenges, gamification, and community engagement.\n\n## Technologies Used\n\n- ReactJS + TailwindCSS\n- Node.js v22.x\n- GitHub Actions for CI\n\n## Setup and Installation\n\n### Prerequisites\n\n- Node.js v22.x\n- npm (Node package manager)\n\n### Steps to Set Up\n\n1. Clone the repository\n\n   ```bash\n   git clone https://github.com/dizzpy/Greenie-Web.git\n   ```\n\n2. Install dependencies\n\n   ```bash\n   npm install\n   ```\n\n3. Run the development server\n   ```bash\n   npm run dev\n   ```\n\n### Running in Production\n\n1. Build the project\n\n   ```bash\n   npm run build\n   ```\n\n2. Start the production server\n   ```bash\n   npm run start\n   ```\n\n## Contributing\n\n1. Fork the repository.\n2. Create a new branch: `git checkout -b feat/your-feature-branch`.\n3. Make your changes.\n4. Commit your changes: `git commit -m \"feat: Add feature description\"`.\n5. Push to your branch: `git push origin your-feature-branch`.\n6. Create a pull request to merge your changes into the main branch.\n\n## CI/CD\n\nWe use GitHub Actions for continuous integration. The project is built on every pull request. Once merged, Vercel automatically deploys the updated project.\n\n## Common Folder Structure \u0026 Guidelines\n\n```plaintext\n📂 src\n ┣ 📂 assets           # Stores static assets (icons, images, etc.)\n ┃ ┣ 📂 icons         # SVGs and icons\n ┃ ┗ 📂 images        # Static images\n ┃\n ┣ 📂 components       # Reusable global UI components\n ┃ ┣ 📂 Buttons      # Button components (e.g., IconButton, PrimaryButton)\n ┃ ┣ 📂 Shared       # Common components (e.g., Navbar, Footer, Modal)\n ┃ ┗ 📂 Forms        # Form elements (e.g., InputField, Checkbox)\n ┃\n ┣ 📂 pages           # All page components\n ┃ ┣ 📜 HomePage.jsx\n ┃ ┗ 📜 NotFound.jsx\n ┃\n ┣ 📂 [feature-name]       # Feature-specific folder (e.g., shop, user)\n ┃ ┣ 📂 components   # UI components specific to this feature\n ┃ ┣ 📂 pages        # Pages related to this feature\n ┃ ┣ 📂 data         # Static or mock data (e.g., product lists)\n ┃ ┣ 📂 services     # API calls, Firebase, or business logic for this feature\n ┃ ┗ 📜 index.jsx    # Entry file for the feature\n ┃\n ┣ 📂 services         # API services and Firebase functions\n ┃ ┣ 📜 api.js        # General API calls\n ┃ ┗ 📜 auth.js       # Authentication services\n ┃\n ┣ 📂 utils            # Utility functions/helpers\n ┃ ┗ 📜 formatDate.js  # Example: date formatter\n ┃\n ┣ 📜 App.jsx          # Main application component\n ┣ 📜 main.jsx         # Entry point for rendering the app\n ┗ 📜 index.css        # Global styles\n```\n\n---\n\n## What to Add in Each Folder?\n\n### 📂 `assets/`\n\n- **icons/** → SVG icons\n- **images/** → Static images\n\n### 📂 `components/`\n\n- **Buttons/** → Buttons (PrimaryButton, IconButton)\n- **Shared/** → Common UI components (Navbar, Footer, Modal)\n- **Forms/** → Form inputs, text fields, dropdowns\n\n### 📂 `pages/`\n\n- Global pages (e.g., `HomePage.jsx`, `NotFound.jsx`)\n\n### 📂 `[feature-name]/` (e.g., `shop/`, `user/`)\n\n- **components/** → UI components for that feature\n- **pages/** → Pages related to the feature\n- **data/** → Mock/static data files\n- **services/** → API calls and business logic\n- **index.jsx** → Main entry file for the feature\n\n### 📂 `services/`\n\n- API handling and Firebase functions\n\n### 📂 `utils/`\n\n- Helper functions (e.g., date formatting, number conversions)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdizzpy%2Fgreenie-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdizzpy%2Fgreenie-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdizzpy%2Fgreenie-web/lists"}