Skip to content

A personalized weather application that goes beyond basic forecasts to provide lifestyle recommendations, energy-saving tips, recipe suggestions, and a community platform.

Notifications You must be signed in to change notification settings

Anamika1608/SkyMate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 

Repository files navigation

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

Node.js >= 14.x
MongoDB >= 4.x
npm >= 6.x

🚀 Installation

  1. Clone the repository
git clone https://github.com/Anamika1608/SkyMate.git
cd SkyMate
  1. Install dependencies for both frontend and backend
# Install backend dependencies
cd server
npm install

# Install frontend dependencies
cd ../client
npm install
  1. Set up environment variables
# 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
  1. Start the application
# Start backend server (from server directory)
npm run server

# Start frontend (from client directory)
npm run dev

About

A personalized weather application that goes beyond basic forecasts to provide lifestyle recommendations, energy-saving tips, recipe suggestions, and a community platform.

Topics

Resources

Stars

Watchers

Forks

Languages