Skip to content
View 1Dev04's full-sized avatar
🎯
Focusing
🎯
Focusing

Block or report 1Dev04

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
1Dev04/README.md

Profile

Hey there

πŸ‘©β€πŸ’» About Me :

I am a Full Stack Developer from Thailand.

specializing in building scalable web and mobile applications using React, Flutter, and FastAPI.

I have hands-on experience developing end-to-end systems, including frontend, backend APIs, database design, and deployment. I have worked with CI/CD pipelines, containerization (Docker/Podman), and cloud platforms such as Vercel and Render.

My recent project includes an AI-powered eCommerce platform with smart sizing analysis, where I designed RESTful APIs, implemented database architecture (PostgreSQL), and deployed production-ready applications.

I also completed an internship as a Full Stack Developer at ClickNext, where I contributed to enterprise internal systems and backend services.

I am passionate about building efficient, scalable systems and continuously improving my skills in modern web technologies.

Open to Full Stack Developer opportunities (New Grad 2026).


πŸ›οΈ ABCat Shop

Full-stack mobile eCommerce platform with AI-based analysis and production-ready deployment.

Flutter FastAPI PostgreSQL Podman Jenkins License: MIT


πŸ“‹ Table of Contents


Overview

ABCat Shop is a full-stack mobile eCommerce platform featuring:

  • Flutter cross-platform mobile app (Android/iOS)
  • FastAPI backend with async support and Swagger docs
  • AI processing layer for product analysis
  • JWT authentication and secure REST API
  • Containerized deployment via Podman on Ubuntu

Architecture

Flutter Mobile App
      β”‚
      β”‚ HTTPS REST API
      β–Ό
 FastAPI Backend ──── PostgreSQL Database
      β”‚
      β”œβ”€β”€ AI Processing Layer
      └── Auth Service (JWT)

Request Flow (Auth):

User β†’ App β†’ POST /login β†’ DB query β†’ JWT Token β†’ Authenticated

Tech Stack

Layer Technology Reason
Frontend Flutter (Dart) Cross-platform, single codebase
Backend Python + FastAPI Async, Swagger, AI/ML integration
Database PostgreSQL Relational, scalable, consistent
Container Podman (rootless) Secure, lightweight
CI/CD Jenkins Automated build & deploy
CDN Cloudflare Fast static asset delivery

Getting Started

Prerequisites

  • Flutter SDK >=3.0.0
  • Python >=3.10
  • PostgreSQL >=14
  • Podman >=4.0

1. Clone the repository

git clone https://github.com/your-username/abcat-shop.git
cd abcat-shop

2. Configure environment variables

cp .env.example .env

Edit .env:

DATABASE_URL=postgresql://user:password@localhost:5432/abcatdb
API_KEY=your_api_key_here
SECRET_KEY=your_secret_key_here

3. Run the backend

cd backend
pip install -r requirements.txt
uvicorn main:app --reload

4. Run the Flutter app

cd mobile
flutter pub get
flutter run

API Reference

Authentication

POST /login

{
  "email": "user@example.com",
  "password": "password123@"
}

Response:

{
  "access_token": "jwt_token_here",
  "token_type": "bearer"
}

Flow: Validate input β†’ Query database β†’ Generate JWT


Swagger UI

After starting the backend, visit:

http://localhost:8000/docs

Deployment

Using Podman (rootless)

podman build -t abcat-backend ./backend
podman run -d -p 8000:8000 --env-file .env abcat-backend

CI/CD with Jenkins

The Jenkinsfile at the project root automates:

  1. Build Docker/Podman image
  2. Run tests
  3. Deploy to Ubuntu server
  4. Health check

Performance

Metric Value
Home page requests 14 req
Page load time ~3 s
Auth response time ~304 ms
Data transferred 2.9 MB

Known Optimizations

  • Convert banner images to WebP format (saves ~60-70% payload)
  • Add keep-alive ping to prevent Render cold starts (30-60 s)
  • Profile page: investigate 1,378 requests (asset deduplication)
  • Update intl package to ^0.19.0 (fix Intl.v8BreakIterator deprecation)

Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-feature
  3. Commit your changes: git commit -m 'feat: add your feature'
  4. Push to the branch: git push origin feature/your-feature
  5. Open a Pull Request

Planning Stucture

Planning Structure


πŸ› οΈ Tech Stack :

Frontend:

Β  Β  Β  Β  Β  Β  Β  Β  Β  Β 

Backend:

Β  Β  Β  Β  Β  Β 

Database:

Β  Β  Β 

DevOps / Tools:

Β  Β  Β  Β 

Dev Tools

Β  Β  Β  Β 

Pinned Loading

  1. 1Dev04 1Dev04 Public template

    1