A professional blog platform for YH Digital Forensic Center, built with modern web technologies.
- ✅ Professional dark theme design
- ✅ Responsive layout for all devices
- ✅ Homepage with company overview
- ✅ About page with company information
- ✅ Digital forensics service pages
- ✅ Blog with search and filtering
- ✅ Press releases and media coverage
- ✅ Corporate training programs
- ✅ Contact form with inquiry management
- ✅ SEO optimized with metadata
- ✅ Smooth animations with Framer Motion
- ✅ RESTful API with automatic docs
- ✅ JWT authentication for admin users
- ✅ Post management (CRUD operations)
- ✅ Category and tag system
- ✅ Contact inquiry management
- ✅ File upload functionality
- ✅ Database with SQLAlchemy ORM
- ✅ CORS configuration
- ✅ Health check endpoints
- ✅ Secure admin authentication
- ✅ Post creation and management
- ✅ Rich text editor with Tiptap
- ✅ Inquiry management dashboard
- ✅ File upload capabilities
- ✅ Statistics and analytics
Frontend:
- Next.js 14 (App Router)
- TypeScript
- Tailwind CSS
- Framer Motion
- Lucide React Icons
Backend:
- FastAPI
- SQLAlchemy ORM
- SQLite (development) / PostgreSQL (production)
- JWT Authentication
- Python 3.11+
Deployment:
- Docker & Docker Compose
- Nginx (reverse proxy)
- Multi-stage builds for optimization
-
Clone the repository
git clone <repository-url> cd YHDFC
-
Backend setup
cd backend python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt python init_admin.py uvicorn main:app --reload
-
Frontend setup (new terminal)
cd frontend npm install npm run dev -
Access the application
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- Admin: http://localhost:3000/admin/login
See DEPLOYMENT.md for complete deployment instructions.
Quick Docker deployment:
docker-compose up -d
docker-compose exec backend python init_admin.pyCopy .env.example to .env and configure:
SECRET_KEY=your-secret-key
DATABASE_URL=sqlite:///./app.db
NEXT_PUBLIC_API_URL=http://localhost:8000
ADMIN_USERNAME=admin
ADMIN_PASSWORD=admin123- Username: admin
- Password: admin123
YHDFC/
├── backend/ # FastAPI backend
│ ├── models/ # Database models
│ ├── routers/ # API endpoints
│ ├── schemas/ # Pydantic schemas
│ ├── auth.py # Authentication
│ ├── database.py # Database setup
│ └── main.py # FastAPI app
├── frontend/ # Next.js frontend
│ ├── src/
│ │ ├── app/ # App router pages
│ │ └── components/ # Reusable components
│ ├── public/ # Static assets
│ └── tailwind.config.ts # Tailwind setup
├── docker-compose.yml # Docker orchestration
├── nginx.conf # Nginx configuration
└── DEPLOYMENT.md # Deployment guide
GET /api/posts- List blog postsGET /api/posts/{slug}- Get post by slugGET /api/categories- List categoriesPOST /api/inquiries- Submit contact form
POST /api/admin/login- Admin authenticationGET /api/admin/posts- List posts (admin)POST /api/admin/posts- Create postPUT /api/admin/posts/{id}- Update postDELETE /api/admin/posts/{id}- Delete postGET /api/admin/inquiries- List inquiries
- Professional dark theme suitable for B2B clients
- Cyber-security aesthetic with accent colors
- Responsive design for mobile, tablet, desktop
- Accessibility features with proper contrast and navigation
- Loading states and error handling
- Smooth animations for enhanced user experience
- Homepage loads correctly
- All navigation links work
- Blog posts display and are searchable
- Contact form submits successfully
- Admin login works
- Admin can create/edit posts
- Responsive design on mobile
- API endpoints return expected data
# Test public endpoints
curl http://localhost:8000/api/posts
curl http://localhost:8000/health
# Test admin login
curl -X POST http://localhost:8000/api/admin/login \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "username=admin&password=admin123"The platform is production-ready with:
- Docker containerization
- Nginx reverse proxy
- SSL/TLS support
- Health checks
- Log management
- Backup strategies
See DEPLOYMENT.md for detailed instructions.
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is proprietary software for YH Digital Forensic Center.
For technical support or questions:
- Check the deployment documentation
- Review the API documentation at
/api/docs - Verify configuration settings
Built with ❤️ for YH Digital Forensic Center