Template Architect is a comprehensive repository designed to streamline the development of web-based applications. This project includes both frontend applications (Storefront and Backoffice) and backend microservices, providing a robust and modular architecture for developers.
- Template Architect
Template Architect is an example architecture for full-stack applications, designed to demonstrate best practices in development, deployment, and scalability. The repository provides:
- A storefront React application for customer interactions.
- A backoffice Angular application for administrative workflows.
- 6 backend microservices implementing various business logic layers.
The project is highly modular, enabling developers to extend or modify individual components without affecting the entire system.
- Frontend Applications:
- Responsive and accessible user interfaces.
- Modularized components and state management.
- Backend Microservices:
- Authentication and authorization (Identity Service).
- RESTful APIs for managing users, customers, products, orders, and inventory.
- Scalable and isolated services.
- Modern DevOps Integration:
- Docker Compose for local development and container orchestration.
- GitHub Actions for CI/CD pipelines.
- Easy Deployment:
- Host frontend applications on GitHub Pages.
- Containerized backend services for seamless deployment.
- React (Storefront)
- Angular (Backoffice)
- TypeScript and JavaScript
- React Router and Angular Router
- .NET 8.0
- Docker for containerization
- GitHub Actions for CI/CD
- Docker Compose for orchestration
- GitHub Pages for hosting static files
The repository is organized as follows:
template-architect/
│
├── src/frontend/
│ ├── storefront/ # React Storefront application
│ ├── backoffice/ # Angular Backoffice application
│
├── src/backend/
│ ├── identity-service/ # Authentication and authorization
│ ├── user-service/ # User profile management
│ ├── customer-service/ # Customer-related data
│ ├── product-service/ # Product catalog
│ ├── inventory-service/# Inventory and stock tracking
│ ├── order-service/ # Order lifecycle management
│
├── docker-compose.yaml # Service orchestration file
├── README.md # Project documentation
└── CONTRIBUTING.md # Contribution guidelines
- Node.js (>= 16.0)
- npm or yarn
- Angular CLI (for backoffice)
- Docker and Docker Compose
Clone the repository to your local machine:
git clone https://github.com/chuangz/template-architect.git
cd template-architect
-
Frontend Applications:
- Navigate to the desired app directory (e.g.,
storefront
):cd src/frontend/storefront npm install npm start
- For the Angular backoffice:
cd src/frontend/backoffice npm install ng serve
- Navigate to the desired app directory (e.g.,
-
Backend Services:
- Start all backend services using Docker Compose:
docker-compose up --build
- Start all backend services using Docker Compose:
- React-based customer-facing application.
- URL:
https://chuangz.github.io/template-architect/storefront
.
- Angular-based administrative application.
- URL:
https://chuangz.github.io/template-architect/backoffice
.
- Handles authentication and authorization.
- Manages user profiles and preferences.
- Provides customer-related data.
- Manages product catalog and pricing.
- Tracks stock levels and inventory.
- Handles order creation, updates, and fulfillment.
- Use
gh-pages
forstorefront
:npm run deploy
- Use
angular-cli-ghpages
forbackoffice
:npx angular-cli-ghpages --dir=dist/backoffice
- Deploy backend services using Docker Compose in production mode:
docker-compose -f docker-compose.prod.yaml up -d
We welcome contributions! Check out our CONTRIBUTING.md for guidelines.
This project is licensed under the MIT License.
For any questions or suggestions, please contact:
- GitHub: chuangz
- Email: [email protected]