Skip to content

A project that bridges technology and environmental consciousness! ThinkGreenly is a full-stack platform designed where you can share on sustainable practices, connect eco-conscious communities, track personal carbon footprints, and many more ideas.

Notifications You must be signed in to change notification settings

khaledssbd/ThinkGreenly

Repository files navigation

🌱 ThinkGreenly (Frontend)

License: MIT PRs Welcome

📌 Overview

A Next.js-powered community platform for sharing and voting on sustainable ideas. Admins moderate submissions, while members collaborate on eco-friendly solutions.

🌍 Live URL

📂 Repository Link

🛠️ Features

  • User Authentication: JWT-based login/registration.
  • Idea Management: Submit, draft, comment and vote on ideas (Reddit-style).
  • Admin Dashboard: Approve/reject ideas, manage categories.
  • Responsive UI: Built with Tailwind CSS & Shadcn UI.
  • Payment Integration: SSLCommerz for "Paid Ideas"

🏗️ Tech Stack

Frontend

  • Framework: Next.js (App Router)
  • Styling: Tailwind CSS
  • Form Handling: React Hook Form
  • Validation: Zod

Backend

  • Framework: Express.js
  • Database: PostgreSQL
  • ORM: Prisma
  • Payment Method: SSL Commerz
  • Image hosting: Multer & Cloudinary
  • Mail Provider: Nodemailer
  • Validation: Zod

🏃‍♂️ Setup Guide (Frontend)

Prerequisites

  • Node.js ≥18.x
  • npm/yarn/pnpm

Installation

  1. Clone the repo:

    git clone https://github.com/khaledssbd/ThinkGreenly.git
    cd ThinkGreenly
    
  2. Install dependencies:

    npm install
    
  3. Create .env file with:

    NEXT_PUBLIC_API_URL="your_backend_url"
    
  4. Run the dev server:

    npm run dev

🏃‍♂️ Setup Guide (Backend)

Prerequisites

  • Node.js ≥18.x
  • npm/yarn/pnpm

Installation

  1. Clone the repo:

    git clone https://github.com/khaledssbd/ThinkGreenly-apis.git
    cd ThinkGreenly-apis
    
  2. Install dependencies:

    npm install
    
  3. Create .env file with:

    NODE_ENV="development"
    PORT=5000
    DATABASE_URL=""
    
    JWT_SECRET=""
    JWT_EXPIRATION="15d"
    JWT_REFRESH=""
    JWT_REFRESH_EXPIRATION="7d"
    
    RESET_PASSWORD_SECRET=""
    RESET_PASSWORD_EXPIRATION="10m"
    RESET_PASSWORD_LINK="http://localhost:5000/auth/reset-password"
    
    BCRYPT_SALT_ROUNDS=12
    SMTP_HOST="smtp.gmail.com"
    SMTP_PORT=587
    SMTP_USER=""
    SMTP_APP_PASSWORD=""
    
    CLOUDINARY_CLOUD_NAME=""
    CLOUDINARY_API_KEY=""
    CLOUDINARY_API_SECRET=""
    
  4. Run the dev server:

    npm run dev

alt text

License

MIT (do whatever you want to do 😄 )

About

A project that bridges technology and environmental consciousness! ThinkGreenly is a full-stack platform designed where you can share on sustainable practices, connect eco-conscious communities, track personal carbon footprints, and many more ideas.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 8

Languages