# Mark Scan News Website - TODO

## Database & Schema
- [x] Create articles table (title, content, excerpt, featured_image, category, author, published_at, views_count)
- [x] Create categories table (name, slug, description)
- [x] Create comments table (content, article_id, user_id, created_at, approved)
- [x] Create article_tags table (article_id, tag_id)
- [x] Create tags table (name, slug)
- [x] Add admin role to users table (already exists)
- [x] Create migrations for all new tables

## Frontend - Homepage
- [x] Build header with logo and navigation (World, Politics, Business, Technology, Science, Sports, Guides, A-Z)
- [x] Build category filter bar (ALL, WORLD, POLITICS, BUSINESS, TECHNOLOGY, SCIENCE, SPORTS, ENTERTAINMENT, HEALTH, LIFESTYLE)
- [x] Build featured article section (large image, headline, excerpt)
- [x] Build article grid layout (3 columns with cards)
- [x] Build trending sidebar (right side)
- [x] Build most read sidebar (right side)
- [x] Build "By The Numbers" live statistics section
- [x] Build breaking news ticker
- [x] Build footer with links and sections

## Frontend - Article Detail Page
- [x] Create article detail page layout
- [x] Display article content with image, title, author, date
- [x] Display article metadata (category, tags, views)
- [x] Build comments section
- [x] Display related articles

## Frontend - User Features
- [x] Build search functionality (search bar + results page)
- [x] Implement dark mode toggle
- [x] Build responsive design for mobile/tablet
- [x] Add smooth transitions and animations

## User Authentication
- [ ] Build login page
- [ ] Build registration page
- [ ] Build user profile page
- [x] Implement OAuth integration (already in template)
- [x] Add logout functionality
- [x] Protect admin routes

## Comments System
- [x] Build comment form on article pages
- [x] Display comments list with user info
- [x] Add comment moderation in admin
- [x] Implement comment timestamps
- [x] Add user authentication check for commenting

## Admin Dashboard
- [x] Build admin layout with sidebar navigation
- [x] Create articles management (list, create, edit, delete)
- [x] Create categories management (list, create, edit, delete)
- [ ] Create tags management (list, create, edit, delete)
- [ ] Create users management (list, view, change role)
- [x] Create comments management (list, approve, delete)
- [ ] Add statistics/analytics dashboard
- [ ] Implement bulk actions (delete multiple articles, etc.)

## Backend API Endpoints
- [x] GET /api/articles (list with pagination, filters)
- [x] GET /api/articles/:id (single article)
- [x] POST /api/articles (create - admin only)
- [x] PUT /api/articles/:id (update - admin only)
- [x] DELETE /api/articles/:id (delete - admin only)
- [x] GET /api/categories (list)
- [x] POST /api/categories (create - admin only)
- [x] PUT /api/categories/:id (update - admin only)
- [x] DELETE /api/categories/:id (delete - admin only)
- [x] GET /api/articles/:id/comments (list comments)
- [x] POST /api/articles/:id/comments (create comment)
- [x] DELETE /api/comments/:id (delete - admin only)
- [x] GET /api/search (search articles)
- [x] GET /api/trending (trending articles)
- [x] GET /api/stats (live counters)

## Testing
- [ ] Write comprehensive unit tests for all API endpoints
- [ ] Write tests for authentication flows
- [ ] Write tests for admin features
- [ ] Test dark mode functionality
- [ ] Test search functionality
- [ ] Test responsive design

## Deployment & Polish
- [ ] Optimize images and performance
- [x] Add SEO meta tags
- [ ] Test cross-browser compatibility
- [ ] Add loading states and error handling
- [ ] Create sample articles for demo
- [ ] Final UI polish and refinements
