Skip to content
/ moon-site Public template

Job-ready developer portfolio template with Next.js, Tailwind CSS, MDX, and FastAPI. Feature-rich, modern, and fully extensible. Open-source and production-ready.

License

Notifications You must be signed in to change notification settings

mirkotrotta/moon-site

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Moon Site

Next.js React TypeScript Tailwind CSS FastAPI

🚀 About the Project

Moon Site is a personal case study project: a modern website template built to demonstrate full-stack development skills using technologies like Next.js, FastAPI, and PostgreSQL.

It features a blog system powered by MDX and provides a starting point for custom full-stack applications. The goal is to build an open-source foundation others can learn from or fork.

🛠 Tech Stack

Frontend

  • Framework: Next.js 14 (App Router)
  • Language: TypeScript
  • Styling: Tailwind CSS
  • Markdown: MDX support for blogs

Backend

  • API Framework: FastAPI (Python 3.8+)
  • Database: PostgreSQL (via SQLAlchemy ORM)

Tooling

  • Package Manager: pnpm
  • Dev Scripts: Custom CLI tool for generating blog posts
  • Content: Blog posts live in content/blog/*.mdx

✍️ Blog System

Blog posts are written in .mdx and stored in content/blog. You can create posts using:

npm run new-post "My New Post Title"

Each post includes frontmatter for title, date, summary, and tags. Posts are automatically routed via Next.js dynamic routing.

📂 Project Structure

moon-site/
├── frontend/         # Next.js frontend
├── backend/          # FastAPI backend
├── content/blog/     # Blog post MDX files
├── scripts/          # CLI post generator
└── docs/             # Static documentation assets

🚧 Status

This project is a work-in-progress and not fully production-ready. Several features mentioned in earlier drafts are not implemented yet:

  • No i18n or accessibility auditing
  • No CI/CD setup or DevOps tooling
  • No analytics or monitoring
  • No authentication or security infrastructure
  • Documentation folder is incomplete

🧪 Local Development

Requirements

node -v     # >= 18.0.0
python -v   # >= 3.8.0
docker -v   # optional for container-based setup
pnpm -v     # >= 8.0.0

Quick Start with Docker

git clone --recurse-submodules https://github.com/mirkotrotta/moon-site.git
cd moon-site
docker compose up -d

Manual Setup

# Frontend
cd frontend
pnpm install
pnpm dev

# Backend
cd backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reload

📄 License

MIT License. See LICENSE for details.

🙋‍♂️ Contributing

Contributions are welcome. Feel free to fork and open a PR.

🙌 Acknowledgments

Moon Site is created and maintained by Mirko Trotta.

Built with inspiration from open-source templates, including:

📣 Feedback

Found a bug? Have a suggestion? Just open a GitHub Issue.


⭐️ Star the project on GitHub if you find it useful!

About

Job-ready developer portfolio template with Next.js, Tailwind CSS, MDX, and FastAPI. Feature-rich, modern, and fully extensible. Open-source and production-ready.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published