This repository contains the code for the oursi.net website (my personal website), a modern web application built with Next.js and Strapi CMS.
Oursi.net is a full-stack web application with:
- 🖼️ Next.js frontend (v15) with TypeScript and Tailwind CSS
- 🗄️ Strapi headless CMS (v5) with PostgreSQL database
- 🐳 Docker containerization for easy deployment
- 📦 PNPM workspace for efficient package management
The project is organized as a monorepo with the following structure:
oursinet/
├── next/ # Next.js frontend application
├── cms/ # Strapi CMS backend
├── utils/ # Utility scripts for development
└── docker-compose.yml # Docker configuration for local deployment
The frontend is built with Next.js 15, featuring:
- 🌐 Internationalization support
- 🧩 Component-based architecture with reusable UI components
- 📱 Responsive design with Tailwind CSS
- 📄 Dynamic content rendering from Strapi
The backend uses Strapi CMS with:
- 📊 PostgreSQL database for content storage
- 🔒 User authentication and permissions
- 📝 Content types for articles, pages, and global components
- 🖼️ Media management for images and files
-
Clone the repository
git clone https://github.com/your-username/oursinet.git cd oursinet -
Install dependencies
pnpm install
-
Set up environment variables
# Create .env file in the cms directory cp cms/.env.example cms/.env -
Start PostgreSQL database
docker-compose up postgres -d
-
Start both development servers
pnpm -r dev
-
Access your applications:
- Frontend: http://localhost:3000
- Strapi Admin: http://localhost:1337/admin
For testing the entire application in a production-like environment:
-
Clone the repository
git clone https://github.com/your-username/oursinet.git cd oursinet -
Set up environment variables
cp cms/.env.example cms/.env
-
Build and start all services
docker-compose up -d
-
Access your containerized applications:
- Frontend: http://localhost:3000
- Strapi Admin: http://localhost:1337/admin
# Install all dependencies
pnpm install
# Lint all projects
pnpm lint
# Format all projects
pnpm format
# Fix linting issues
pnpm lint:fix
# Fix formatting issues
pnpm format:fix# Start development server with turbopack
pnpm dev
# Build for production
pnpm build
# Start production server
pnpm start# Start development server
pnpm dev
# Build for production
pnpm build
# Start production server
pnpm start# Port-forward database (if needed)
./utils/port-forward.sh
# Sync database with latest dump
./utils/sync-db.shCreated by Benoit VANNESSON.