https://github.com/anamika1608/skymate
A personalized weather application that goes beyond basic forecasts to provide lifestyle recommendations, energy-saving tips, recipe suggestions, and a community platform.
https://github.com/anamika1608/skymate
bcrypt cloudinary-integration expressjs gemini-api groq-api mongodb nodejs reactjs tailwindcss weather-forecast
Last synced: 4 months ago
JSON representation
A personalized weather application that goes beyond basic forecasts to provide lifestyle recommendations, energy-saving tips, recipe suggestions, and a community platform.
- Host: GitHub
- URL: https://github.com/anamika1608/skymate
- Owner: Anamika1608
- Created: 2024-07-04T04:57:46.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-05T06:15:19.000Z (5 months ago)
- Last Synced: 2025-05-05T06:34:52.364Z (5 months ago)
- Topics: bcrypt, cloudinary-integration, expressjs, gemini-api, groq-api, mongodb, nodejs, reactjs, tailwindcss, weather-forecast
- Language: JavaScript
- Homepage: https://skymate.vercel.app
- Size: 8.76 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SkyMate: Smart Weather & Community Platform
A personalized weather application that goes beyond basic forecasts to provide lifestyle recommendations, energy-saving tips, and a community platform for weather-related discussions.
## 🌟 Features
### Weather Information 🌦️
- 3-day detailed weather forecasts 📅
- Real-time air quality monitoring 🌫️
- Weather-based activity recommendations 🏃♂️
- Customized energy conservation tips ⚡
- Weather-appropriate recipe suggestions 🍲
### Community Platform 🤝
- User authentication & authorization 🔑
- Create and share weather-related posts 📝
- Bookmark favorite posts 📚
- Interact with community content 💬
- Personalized user profiles 👤
## Technologies- **Frontend:**
- React.js
- Context API for state management
- Responsive design for all devices- **Backend:**
- Node.js
- Express.js
- MongoDB with Mongoose- **Authentication & Security:**
- OAuth 2.0
- Bcrypt for password hashing
- JWT for secure sessions- **APIs:**
- RESTful API architecture
- Weather API for weather forecast
- GROQ API for recipes suggestions
- GEMINI API for activity suggestions
- Cloudinary for optimized image uploads## 📋 Prerequisites
```bash
Node.js >= 14.x
MongoDB >= 4.x
npm >= 6.x
```## 🚀 Installation
1. Clone the repository
```bash
git clone https://github.com/Anamika1608/SkyMate.git
cd SkyMate
```2. Install dependencies for both frontend and backend
```bash
# Install backend dependencies
cd server
npm install# Install frontend dependencies
cd ../client
npm install
```3. Set up environment variables
```bash
# In server directory, create .env file
MONGODB_URL=your_mongodb_url
JWT_SECRET=your_jwt_secret
OAUTH_CLIENT_ID=your_oauth_client_id
OAUTH_CLIENT_SECRET=your_oauth_client_secret
WEATHER_API_KEY=your_weather_api_key
CLOUDINARY_API_KEY=your_cloudinary_api_key
CLOUDINARY_API_SECRET=your_cloudinary_secret# In client directory, create .env file
VITE_GEMINI_API_KEY=your_api_key
VITE_GROQ_API_KEY=your_api_key
```4. Start the application
```bash
# Start backend server (from server directory)
npm run server# Start frontend (from client directory)
npm run dev
```