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
- 📰 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
- User Submissions – Readers can contribute articles
- Staff-Written – Editorial team creates original content
| 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 |
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.
- 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
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)