Welcome to Plant Pal application repo. This is a full-stack web app that lets users add plants, set a reminder frequency and get notifications to water them. Notifications are sent via telegram. It also has a community section in which can create posts and add comments.
PlantPal was built over a span of 30 days for a Summer Hackathon by maroon-socket
.
🧩Tech Stack
Frontend: React, TailwindBackend: Express, Zod, Prisma, Postgres & Supabase Bucket Storage
Notifications: Telegram Bot API, Cron
🤖Reminder Bot setup
The app needs setting up a telegram bot to send notifications to the user.To create a telegram bot you need to create a telegram accound and message the bot named @Botfather
.
Type /newbot
in its chat to start the process of creating a new bot and follow the instructions.
Sucessful creation of a bot will give you,
- a token and,
- a URL
The token will look something like this:
4839XXX812:AAFD39kkdpWt3yXXXXXrgyOLMaJhac60qc
Paste it in .env
file within server
folder with the key TELEGRAM_BOT_TOKEN
.
The url will look something like this:
t.me/plantpalremind_bot
. Add ?start=true
to the end and paste it in .env
file within client
folder.
Look at .env.sample
for examples.
🚀 Steps to Run
-
Clone the Repository:
git clone https://github.com/freeCodeCamp-2025-Summer-Hackathon/maroon-socket.git
-
Install Dependencies:
npm install
-
Navigate to the Server Folder (Back End):
cd server
-
Create a .env file:
cp .env.sample .env
-
Setting up Supabase and Postgres
look at the
server/docs
for instructions on setting up supabase and postgres -
Start the Server:
npm run dev
🔗 Open your browser at
http://localhost:3000
to see the server in action.
-
Navigate to the Client Folder(Front End):
cd client
-
Create a .env file:
cp .env.sample .env
-
Start the App:
```bash npm run dev ``` 🔗 **Open your browser** at `http://localhost:5173` to see the client in action.
- Ayushi
- Ganesh
- Jait
- Jayesh
- Priyanka
- Sam
- Sanjana
- Souptik