Skip to content

shashankdaima/100xtemplates-core

Repository files navigation

100xtemplates-core

A modern monorepo template combining Next.js and FastAPI applications with Turborepo-like structure.

What's inside?

This monorepo includes the following packages/apps:

Apps

  • dashboard: a Next.js app for the main dashboard
  • web: a Gatsby app for the landing page
  • api-hono: a Hono API server
  • fastapi-app: a FastAPI backend for AI functionality

Packages

JavaScript/TypeScript

  • @repo/ui: a React component library shared by both web and docs applications
  • @repo/eslint-config: eslint configurations (includes eslint-config-next and eslint-config-prettier)
  • @repo/typescript-config: tsconfig.jsons used throughout the monorepo

Python

  • packages-py: Python packages shared across FastAPI applications

Prerequisites

  • Node.js >= 18
  • Python >= 3.9
  • uv (Python package manager)

Quick Start

  1. Clone the repository:
git clone https://github.com/your-org/100xtemplates-core.git cd 100xtemplates-core
  1. Install Node.js dependencies:
npm install
  1. Initialize Python environment:
npm run py:init
  1. Start development servers:
# Start all services npm run dev # Or start specific services npm run dev -- --filter=web npm run dev -- --filter=docs npm run py:dev

Development

JavaScript/TypeScript Development

  • npm run build - Build all apps and packages
  • npm run dev - Develop all apps and packages
  • npm run lint - Lint all code
  • npm run format - Format all code

Python Development

  • npm run py:init - Initialize Python virtual environment and install dependencies
  • npm run py:dev - Start FastAPI development server with hot reload
  • npm run py:build - Install/update Python dependencies
  • npm run py:test - Run Python tests
  • npm run py:lint - Run all Python linting tools
  • npm run py:format - Format Python code
  • npm run py:check - Run Ruff checks
  • npm run py:clean - Remove Python virtual environment

Project Structure

. ├── apps/ │ ├── api-hono/ # Hono API server │ ├── dashboard/ # Next.js dashboard app │ ├── fastapi-app/ # FastAPI backend app │ └── web/ # Gatsby web app ├── packages/ │ ├── auth/ # Authentication utilities │ ├── db/ # Database utilities │ ├── ui/ # Shared React components │ ├── eslint-config/ # ESLint configurations │ └── typescript-config/ # TypeScript configurations ├── packages-py/ # Shared Python packages ├── deployments/ # Deployment configurations ├── docker/ # Docker configurations ├── pyproject.toml # Python project configuration └── package.json # Node.js project configuration 

Next Steps

  1. Configure Environment Variables

    • Create .env files for each app
    • Set up database connections and API keys
  2. Set Up Database

    • Configure SQLAlchemy models in fastapi-app
    • Set up Alembic migrations
  3. Add Authentication

    • Implement JWT or OAuth2 authentication
    • Set up protected routes
  4. Add API Documentation

    • Configure FastAPI OpenAPI documentation
    • Add API examples and descriptions
  5. Set Up CI/CD

    • Configure GitHub Actions or similar
    • Set up automated testing and deployment
  6. Add Monitoring

    • Set up logging
    • Configure error tracking
    • Add performance monitoring

Remote Caching

Turborepo can use Remote Caching to share cache artifacts across machines.

To enable Remote Caching:

npx turbo login npx turbo link

Useful Links

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •