Skip to content

warteamx/lab1-todoApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Lab1-TodoApp

Release Build License Node.js Gitmoji Semantic Release

🧩 Overview: Expo + Express

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

πŸš€ Features

Client Frontend (Expo)

Client Version Client Coverage Expo SDK React Native React

  • Cross-platform support: iOS, Android, Web, Desktop
  • TypeScript-first React Native with hooks, navigation, and theming
  • API integration layer with environment-based configs

Backend (Express)

Server Version Server Coverage Express PostgreSQL Supabase Docker

  • 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.

Deployment

Quick Start

Environment Setup

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

Client (Mobile/Web App)

cd client
npm install
npm start

Server (API)

cd server
npm install
npm run dev

Semantic Versioning

Check the full semver docs

This project implements automated semantic versioning with the following rules:

Version Bump Triggers

  • 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

Commit Convention

✨ 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

Version Display

  • Client: Version component in settings and about screens
  • Server: Enhanced health check endpoint with build information

Docs

Environment & Setup

Development

Client Documentation

Server Documentation

Deployment

  • πŸš€ Deployment Guide - Production deployment instructions and best practices

AI Documentation


Last Updated: (hotfix) September 16, 2025
License: MIT