Skip to content

AbhijeetShk/aws-containerized-deployment

Repository files navigation

CI/CD Note

The repository includes CI/CD workflows used during experimentation with AWS deployments.

Since the AWS Free Tier period has ended, these workflows may fail if executed because the AWS infrastructure is no longer active.

The workflows are intentionally kept in the repository to demonstrate the deployment automation setup used during the project.

Fullstack Application

A fullstack application consisting of a user app, database layer, and backend services.
The project uses PostgreSQL, Prisma, and a Node.js stack and is designed to run locally using Docker.

This repository also includes AWS infrastructure experimentation and deployment documentation, which can be found in the AWS documentation file.

➡ See detailed AWS deployment documentation: aws.md


Tech Stack

Backend

  • Node.js
  • Express
  • Prisma ORM

Database

  • PostgreSQL

Infrastructure / DevOps

  • Docker
  • AWS ECS
  • AWS ECR
  • AWS ALB
  • AWS Elastic Beanstalk
  • AWS S3
  • CloudWatch

Project Structure

.
├── apps
│   └── user-app
├── packages
│   └── db
├── aws.md
└── README.md
  • apps/user-app → frontend / user application
  • packages/db → database schema, migrations, and seed scripts
  • aws.md → documentation of AWS deployment experiments

Getting Started

1. Clone the Repository

git clone <AbhijeetShk/repo-address>
cd into it

2. Install Dependencies

npm install

3. Start PostgreSQL

You can run PostgreSQL locally using Docker:

docker run -e POSTGRES_PASSWORD=mysecretpassword -d -p 5432:5432 postgres

Or use a hosted database provider such as Neon.


4. Setup Environment Variables

Copy all .env.example files to .env.

Example:

cp .env.example .env

Update the database URL in the .env files.


5. Setup the Database

Navigate to the database package:

cd packages/db

Run migrations:

npx prisma migrate dev

Seed the database:

npx prisma db seed

6. Start the Application

Navigate to the user app:

cd apps/user-app
npm run dev

Test Login

Use the seeded credentials:

Phone: 1111111111
Password: alice

(Defined in seed.ts)


AWS Deployment Experiments

This repository also includes extensive experimentation with AWS infrastructure and deployment patterns including:

  • ECS container orchestration
  • ECR private container registry
  • Application Load Balancer
  • Elastic Beanstalk deployments
  • S3 static hosting
  • EC2 based Docker deployments
  • CI/CD pipelines
  • CloudWatch observability

Full documentation is available here:

AWS Infrastructure Documentation


Development Notes

The goal of this project is to explore:

  • Fullstack application architecture
  • Containerized deployments
  • Database management with Prisma
  • Cloud infrastructure concepts
  • DevOps workflows and CI/CD pipelines

License

This project is for learning and experimentation purposes.

Related Experiments

This repository is part of a broader exploration of deployment architectures:

• Local fullstack deployment with CI/CD pipelines
• EC2-based Docker deployments
• Elastic Beanstalk managed platform deployment
• ECS container orchestration deployment

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors