Skip to content

Hugomelo123/iberiahubnoticias

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

44 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
IberiaHub

IberiaHub NotΓ­cias

Counter-Strike news platform for the Iberian community (PT + ES).
Fast, clear, and built for people who follow CS every day.

TypeScript React 19 Express MIT

Quick Start β€’ Stack β€’ Structure β€’ Deploy


What it is

A curated CS news site with simple editorial structure and solid technical foundation.
Built to grow without becoming chaos.


Who it's for

  • Players and fans in Portugal and Spain
  • Content creators and amateur teams
  • Esports projects that need real visibility

What it does (today)

πŸ“°  Story publishing with custom CMS
πŸ”Ž  Organization by category / theme
⚑  Fast, lightweight frontend
πŸ”  Separate admin area
🎯  Live match tracking
πŸ“Š  Editorial briefings

Why it's different

Iberian focus, not generic
Covers the scene that matters to PT/ES communities, not just tier-1 international.

Less noise, more context
Editorial structure: What happened + Why it matters. No clickbait.

Built to scale
Not just "posting news" β€” structure designed for multi-user, roles, and growth.


Stack

Core

Frontend   React 19 + TypeScript + Vite
Backend    Node.js + Express
Validation Zod (runtime type safety)
State      TanStack Query
Styling    Tailwind CSS 4
Animation  Framer Motion

Architecture

client/    Frontend (9 pages, 65+ components)
server/    Backend (13 REST endpoints)
shared/    Common schemas and types

Separated by concern, connected by type safety.
No monolithic mess.

Quick Start

git clone https://github.com/Hugomelo123/iberiahubnoticias.git
cd iberiahubnoticias
pnpm install
PORT=8081 pnpm dev

Admin access: http://localhost:8081/admin (password: iberia2026)


Structure

Frontend (client/)

src/
β”œβ”€β”€ pages/              9 routes
β”‚   β”œβ”€β”€ noticias.tsx    Homepage feed
β”‚   β”œβ”€β”€ article.tsx     Story detail
β”‚   β”œβ”€β”€ agenda.tsx      Match broadcast center
β”‚   └── admin.tsx       CMS panel
β”‚
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ editorial/      Domain components
β”‚   └── ui/             50+ Shadcn components
β”‚
└── lib/
    β”œβ”€β”€ api.ts          REST client
    └── utils.ts        Helpers

Backend (server/)

routes.ts    13 REST endpoints (public + protected)
storage.ts   Data layer (in-memory β†’ PostgreSQL)
index.ts     Express setup
vite.ts      Dev server integration

Shared (shared/)

schema.ts    Zod schemas + TypeScript types
             Used by both frontend and backend

API

Public

GET  /api/stories              List all stories
GET  /api/stories/:slug        Single story
GET  /api/matches              Match schedule
GET  /api/briefings            Quick news
POST /api/auth/login           Authentication

Protected (JWT required)

POST   /api/stories            Create
PUT    /api/stories/:id        Update
DELETE /api/stories/:id        Delete
POST   /api/matches            Create match
PUT    /api/matches/:id        Update match
DELETE /api/matches/:id        Remove match
POST   /api/briefings          Add briefing
DELETE /api/briefings/:id      Remove briefing

Deployment

Current state

Development   βœ… Fully functional
Production    ⚠️  Requires PostgreSQL migration
Storage       In-memory (ephemeral)

Recommended: Railway

1. Push to GitHub (done)
2. railway.app β†’ New Project β†’ Deploy from GitHub
3. Add PostgreSQL service
4. Set environment variables
5. Deploy (automatic)

Environment variables

DATABASE_URL=postgresql://...
AUTH_PASSWORD=your_secure_password
AUTH_TOKEN=your_jwt_secret
PORT=8081
NODE_ENV=production

Full guide: GUIA_DEPLOY.md


Documentation

DOCUMENTACAO_COMPLETA.md    Full architecture (27k words)
CODIGOS_COMPLETOS.md        Code reference (all key files)
GUIA_DEPLOY.md              Production deployment guide
RELATORIO_TESTES.md         Test report + checklist
CONTRIBUTING.md             How to contribute

Roadmap

v5.0 (current)

  • REST API backend (13 endpoints)
  • React 19 frontend (9 pages)
  • JWT authentication
  • Full CRUD for stories/matches/briefings
  • Admin CMS panel
  • Editorial design system

v6.0 (planned)

  • PostgreSQL migration
  • Multi-user with roles
  • Image upload system
  • Email notifications
  • Analytics dashboard
  • PWA support

Contributing

PRs welcome. Read CONTRIBUTING.md for guidelines.

git checkout -b feature/your-feature
git commit -m "feat: add your feature"
git push origin feature/your-feature

Use Conventional Commits.


Numbers

Dependencies       81
Lines of code      3,300+
Documentation      35k words
API endpoints      13
Pages             9
Components        65+

License

MIT License - see LICENSE


Contact


Built for the Iberian Counter-Strike community

Version 5.0.0 β€’ January 2026

About

Counter-Strike news platform for the Iberian community (PT + ES). Fast, clear, and built for people who follow CS every day.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages