Skip to content

AstraOpsOrg/AstraDemo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AstraDemo

Reference application demonstrating AstraOps deployment capabilities. A simple full-stack points counter application deployed to AWS EKS.

What It Is

A three-tier web application that showcases containerized microservices deployment:

  • Frontend: React SPA served by Nginx (port 80)
  • Backend: Express.js REST API (port 5000)
  • Database: MongoDB for data persistence (port 27017)

The application allows users to increment/decrement a global counter value (0-10) with real-time UI updates.

Technology Stack

  • Frontend: React 18, Vite, Nginx
  • Backend: Node.js 18, Express.js, Mongoose
  • Database: MongoDB
  • Infrastructure: Docker, AstraOps, AWS EKS, GitHub Actions

Local Development

Frontend:

cd front
npm install
npm run dev  # http://localhost:5173

Backend:

cd back
npm install
export MONGO_URI="mongodb://localhost:27017/points_db"
npm start  # http://localhost:5000

Database:

docker run -d -p 27017:27017 mongo:latest

API Endpoints

  • GET /api/points - Get current counter value
  • POST /api/points/increment - Increment counter (max 10)
  • POST /api/points/decrement - Decrement counter (min 0)

Deployment with AstraOps

The astraops.yaml configuration file defines the deployment:

applicationName: points-fullstack
services:
  - name: frontend
    image: jorgeflorentino8/astrademo-frontend:latest
    port: 80
  - name: backend
    image: jorgeflorentino8/astrademo-backend:latest
    port: 5000
  - name: database
    image: mongo:latest
    port: 27017

Deploy using the CLI:

astraops-cli deploy --monitoring

CI/CD: The repository uses GitHub Actions to build Docker images and deploy automatically on push to main branch.

Project Structure

front/          # React + Vite frontend
back/           # Express.js backend
astraops.yaml   # Deployment configuration
.github/        # CI/CD workflows

Documentation

For comprehensive documentation, visit DeepWiki Documentation.

License

Apache License 2.0

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published