A full-stack application built with Expo and Express as a template to start a new project.
The app demonstrates modern development practices with CD/CI, Domain-Driven Design (DDD), Clean Architecture, Cloud-Native and Semantic Versioning (SemVer).
A production-ready full-stack boilerplate to kickstart your next project, built with:
- Expo SDK 53 (React Native for mobile, web, and desktop)
- Express 5.1 (Node.js backend with TypeScript)
- Monorepo structure using
npm
packages - CI/CD integration, Docker-ready, and env-based configuration
- Cross-platform support: iOS, Android, Web, Desktop
- TypeScript-first React Native with hooks, navigation, and theming
- API integration layer with environment-based configs
- RESTful API built with Express 5.1 and TypeScript
- Scalable architecture (supports DDD/Clean Architecture)
- Swagger/OpenAPI support
- PostgreSQL
- Dockerized +
.env
support for configuration
This project implements semantic versioning for each package:
- Root package (
package.json
): Development tooling and scripts - Client package (
client/package.json
): Expo React Native application - Server package (
server/package.json
): Express.js API server
Each package follows SemVer 2.0.0 specification with automated version management via CI/CD.
- Client (Web App): http://lab1-todoapp.s3-website.eu-north-1.amazonaws.com
- Client (Domain): https://lab1.warteamx.com
- Server (API): http://56.228.14.41/api
- Health Check: http://56.228.14.41/api/health
- API Documentation: http://56.228.14.41/api-docs
Before running the application, set up your environment variables:
# Create environment files from templates
./scripts/setup-environment.sh
# Configure your Supabase credentials and other settings
# Edit client/.env.local and server/.env with your actual values
π See Environment Setup Guide for detailed configuration instructions
cd client
npm install
npm start
cd server
npm install
npm run dev
Check the full semver docs
This project implements automated semantic versioning with the following rules:
- MAJOR (
X.0.0
): Breaking changes (API removals, incompatible changes) - MINOR (
1.X.0
): New features (backward compatible) - PATCH (
1.1.X
): Bug fixes and patches
β¨ feat(client): add dark mode β MINOR bump
π fix(server): fix validation bug β PATCH bump
π₯ feat!: remove deprecated API β MAJOR bump
π docs: update README β PATCH bump
- Client: Version component in settings and about screens
- Server: Enhanced health check endpoint with build information
- π§ Environment Setup Guide - Environment variables configuration and management
- π¦ Semantic Versioning - Automated version management and release process
- π Development Workflow - Complete development workflow and best practices
- π± Installation Guide - Setup and development environment
- ποΈ Architecture Guide - Clean Architecture, folder structure, and design patterns
- π§ͺ Testing Guide - Testing strategies, tools, and best practices
- π Client Overview - Getting started with the Expo app
- π Server Setup - Server installation and startup
- ποΈ Architecture Guide - Domain-Driven Design, clean architecture, and design patterns
- π DDD Folder Structure - Detailed folder organization and domain structure
- π§ͺ Testing Guide - Testing strategies, tools, and best practices
- π Server README - Complete server documentation overview
- π Security Guide - Security best practices
β οΈ Error Handling - Error handling patterns
- π Deployment Guide - Production deployment instructions and best practices
- π€ AI Context Prompt - AI assistant configuration and comprehensive project context
- π AI-Generated Documentation - AI-generated summaries, fixes, and development notes
Last Updated: (hotfix) September 16, 2025
License: MIT