Skip to content

shebaww/Andinet-Newspaper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📰 Andinet Newspaper

Live Demo Built with React Firebase Netlify Mobile Ready

Screenshot

📌 About

Andinet Newspaper is a digital news platform built for students and parents, delivering a mix of school news and general news. The site features articles, puzzles, stock prices, weather updates, and an admin dashboard – all wrapped in a modern, mobile-responsive UI.

Live Site: andinet-newspaper.netlify.app


✨ Features

Core Features

  • 📰 Article Categories – Filter news by school events, general news, and more
  • 🧩 Daily Puzzles – Wordle-style puzzle game (see known issue below)
  • 💬 Comments System – Readers can engage with articles
  • 🔐 Admin Dashboard – Manage articles, moderate comments, and control content
  • 👤 Google Sign-In – Secure authentication (tricky to implement – solved!)
  • 📸 Image Upload – Uses imgBB API (Firebase Storage alternative)
  • 📈 Stock Price Widget – Live market data via external API
  • ☁️ Weather Widget – Real-time weather updates
  • 📱 Fully Responsive – Works on phones, tablets, and desktops

Content Sources

  • User Submissions – Readers can contribute articles
  • Staff-Written – Editorial team creates original content

🛠️ Tech Stack

Technology Purpose
React Frontend framework
Firebase Authentication, Firestore database
imgBB API Image hosting (workaround for Firebase Storage limitation)
Netlify Hosting & deployment
Weather API Live weather data
Stock API Real-time stock prices

🚧 Known Issues & Limitations

🔴 Puzzle Bug (High Priority)

The puzzle game has no backend – word lists are hardcoded (approx. 500 words).
Example: "april" is rejected even though it's a valid word because it's not in the predefined list.

Impact: Limits playability and word recognition.

🟡 Planned Improvements

  • Add dark mode toggle
  • Update puzzles with dynamic word lists (backend integration)
  • Improve mobile UI for certain elements
  • Add likes/dislikes for articles
  • Implement anonymous writer mode
  • Support multiple images per article
  • Fix Stripe donation Method
  • Enhance security (Firestore rules, input sanitization)
  • Expand puzzle word list or integrate dictionary API

🧪 Local Development

To run this project locally:

# Clone the repository
git clone https://github.com/shebaww/andinet-newspaper.git

# Navigate to project folder
cd andinet-newspaper

# Install dependencies
npm install

# Create a .env file with your API keys
# (Firebase config, imgBB API key, Weather API key, Stock API key)

# Start development server
npm run dev
Then open http://localhost:5173

Required Environment Variables
env
# .env.local
VITE_STRIPE_PUBLISHABLE_KEY
VITE_GA_MEASUREMENT_ID
VITE_FIREBASE_API_KEY
VITE_FIREBASE_AUTH_DOMAIN
VITE_FIREBASE_PROJECT_ID
VITE_FIREBASE_STORAGE_BUCKET
VITE_FIREBASE_MESSAGING_SENDER_ID
VITE_FIREBASE_APP_ID
VITE_FIREBASE_MEASUREMENT_ID
VITE_ALPHA_VANTAGE_KEY=

🎯 Challenges Overcome
Google Sign-In Integration – Complex auth flow, successfully implemented

Firebase Storage Limitation – Switched to imgBB API for image hosting

📁 Project Structure
text
andinet-newspaper/
├── src/
│   ├── components/     # Reusable UI components
│   ├── pages/          # Article, puzzle, dashboard pages
│   ├── firebase/       # Firebase config & auth
│   ├── hooks/          # Custom React hooks
│   └── utils/          # API helpers (weather, stocks, imgBB)
├── public/
│   └── assets/         # Images, icons
└── README.md
📬 Contact
Creator: Nahom Teklemariam

Portfolio: nahomtmariam.com

GitHub: github.com/shebaww

Email: nahomnatnael87@gmail.com

🤝 Contributing
This is a personal project, but feedback and suggestions are welcome! Open an issue or reach out directly.

📄 License
MIT – feel free to use and modify with attribution.

Built by Nahom Teklemariam – solving problems one line of code at a time.

text

---

## 📸 What you need to add:

1. **Screenshot** – Take a full-page screenshot and save as `screenshot.png` in your repo root
2. **Replace `yourusername`** in the git clone URL with your actual GitHub username
3. **Add environment variables** section if you plan to share the code (or remove it if private repo)

About

A responsive news website covering Ethiopian current events, politics, culture, and diaspora news. Built for speed and readability on all devices.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors