This guide will help you get up and running with our fullstack template quickly and efficiently.
- Node.js: Version 18.0.0 or higher
- Python: Version 3.11 or higher
- Docker: Latest version with Docker Compose
- Git: Version control system
- IDE: VS Code (recommended) or your preferred editor
{
"recommendations": [
"esbenp.prettier-vscode",
"dbaeumer.vscode-eslint",
"@bradlc/vscode-tailwindcss",
"ms-python.python",
"ms-python.flake8",
"ms-vscode.vscode-typescript-next",
"bradlc.vscode-tailwindcss",
"formulahendry.auto-rename-tag",
"christian-kohler.path-intellisense"
]
}# Clone the repository
git clone https://github.com/[your-org]/fullstack-template.git
cd fullstack-template
# Install dependencies
make install
# Copy environment files
cp .env.example .env
cp frontend/.env.example frontend/.env.local
cp backend/.env.example backend/.envUpdate the following files with your local settings:
# Database
DATABASE_URL=postgresql://postgres:password@localhost:5432/fullstack_db
# Redis
REDIS_URL=redis://localhost:6379
# Environment
NODE_ENV=development
ENVIRONMENT=developmentNEXT_PUBLIC_API_URL=http://localhost:8000
NEXT_PUBLIC_APP_URL=http://localhost:3000DATABASE_URL=postgresql://postgres:password@localhost:5432/fullstack_db
REDIS_URL=redis://localhost:6379
DEBUG=true
CORS_ORIGINS=http://localhost:3000# Start all services
make dev
# Or start services individually
make dev-backend # Backend only
make dev-frontend # Frontend only- Frontend: http://localhost:3000
- Backend API: http://localhost:8000/api/docs
- Database: Check connection via API health endpoint
fullstack-template/
├── frontend/ # Next.js application
│ ├── src/
│ │ ├── app/ # App router pages
│ │ ├── components/ # Reusable components
│ │ ├── hooks/ # Custom React hooks
│ │ ├── lib/ # Utility libraries
│ │ └── types/ # TypeScript type definitions
│ ├── public/ # Static assets
│ └── package.json
├── backend/ # FastAPI application
│ ├── app/
│ │ ├── api/ # API endpoints
│ │ ├── core/ # Core functionality
│ │ ├── models/ # Database models
│ │ └── main.py # Application entry point
│ └── requirements.txt
├── docs/ # Documentation
└── Makefile # Development commands
# Create feature branch
git checkout -b feature/your-feature-name
# Make changes and commit
git add .
git commit -m "feat: add new feature"
# Push and create PR
git push origin feature/your-feature-name# Run linting
make lint
# Run tests
make test
# Run type checking
make type-check
# Format code
make format# Create migration
cd backend
alembic revision --autogenerate -m "Add new table"
# Apply migration
alembic upgrade head
# Rollback if needed
alembic downgrade -1- Create endpoint in
backend/app/api/endpoints/ - Add route to
backend/app/api/api.py - Create tests in
tests/api/ - Update API documentation
- Create component in
frontend/src/components/ - Add to component index file
- Create tests in
__tests__/ - Add Storybook story if applicable
- Add to
.env.examplefiles - Update environment configuration docs
- Add validation in config files
- Update deployment scripts
# Find process using port
lsof -ti:3000
lsof -ti:8000
# Kill process
kill -9 [PID]# Reset database
make db-reset
# Check Docker containers
docker-compose ps
# View logs
docker-compose logs postgres# Clear node modules and reinstall
rm -rf frontend/node_modules
cd frontend && npm install
# Clear Python cache
find . -name "*.pyc" -delete
find . -name "__pycache__" -type d -exec rm -rf {} +# Reset Docker environment
make clean
docker system prune -af
# Rebuild containers
docker-compose build --no-cache- Frontend: ESLint + Prettier configuration
- Backend: Black + isort + flake8
- Commits: Conventional Commits format
- Naming: camelCase (JS/TS), snake_case (Python)
- Unit Tests: Required for all business logic
- Integration Tests: Required for API endpoints
- E2E Tests: Required for critical user flows
- Coverage: Minimum 80% for new code
- README: Update for new features
- API Docs: Auto-generated with OpenAPI
- Code Comments: For complex business logic
- Architecture Decisions: Document in ADR format
- Team Chat: #development channel
- Code Reviews: Required for all PRs
- Office Hours: Daily 2-3 PM EST
- Documentation: This docs folder
- Next.js Docs: https://nextjs.org/docs
- FastAPI Docs: https://fastapi.tiangolo.com/
- React Docs: https://react.dev/
- TypeScript Docs: https://www.typescriptlang.org/docs/
- Fix a small bug - Look for
good-first-issuelabels - Update documentation - Improve this onboarding guide
- Add tests - Increase test coverage
- Refactor component - Improve code quality
- Code follows style guidelines
- Tests pass locally
- Documentation updated
- PR description is clear
- No sensitive data in commits
- Branch is up to date with main
- Complete setup verification - Ensure all services are running
- Review codebase - Explore existing code structure
- Read architecture docs - Understand system design
- Join team meetings - Daily standups and planning
- Pick first task - Start with something small
This onboarding guide is a living document. Please submit improvements via:
- GitHub Issues: For bugs or missing information
- Pull Requests: For direct improvements
- Team Feedback: During retrospectives
Welcome to the team! 🎉