A comprehensive dealership management platform built as the capstone project for the IBM Full Stack Software Developer Professional Certificate. This application demonstrates modern full-stack development practices with microservices architecture, containerization, and cloud deployment.
- User Authentication & Management: Secure registration and login system
- Dealership Directory: Browse and search dealerships by state/location
- Review System: Submit and view dealership reviews with sentiment analysis
- Car Inventory Search: Advanced filtering by make, model, year, mileage, and price
- Real-time Sentiment Analysis: Automated review sentiment classification using IBM Watson NLU
- React.js - Component-based UI with hooks
- JavaScript ES6+ - Modern JavaScript features
- CSS3 - Custom tactical dark theme styling
- Django - Main application server and REST API
- Node.js + Express.js - Microservices for dealerships and car inventory
- Python 3.12 - Backend logic and API integration
- MongoDB - NoSQL database for dealerships, reviews, and car inventory
- SQLite - Relational database for Django models
- Docker - Application containerization
- Docker Compose - Multi-container orchestration
- Kubernetes - Container orchestration and deployment
- IBM Cloud Code Engine - Serverless sentiment analysis microservice
- GitHub Actions - CI/CD pipeline with automated linting
- IBM Watson NLU - Natural Language Understanding for sentiment analysis
- REST APIs - Custom endpoints for all services
The application follows a microservices architecture:
βββ Django Backend (Port 8000)
β βββ User Management
β βββ API Gateway
β βββ Frontend Serving
βββ Dealership Service (Port 3030)
β βββ Express.js + MongoDB
β βββ Dealer & Review Management
βββ Car Inventory Service (Port 3050)
β βββ Express.js + MongoDB
β βββ Advanced Search & Filtering
βββ Sentiment Analysis Service
βββ IBM Code Engine (Serverless)
- Python 3.12+
- Node.js 18+
- Docker & Docker Compose
- IBM Cloud Account (for sentiment analysis)
- Clone the repository
git clone https://github.com/Nobelgalido/xrwvm-fullstack_developer_capstone.git
cd xrwvm-fullstack_developer_capstone- Set up environment variables
cd server/djangoapp
cp .env.example .env
# Edit .env with your configuration- Start the dealership microservice
cd server/database
docker-compose up -d- Start the car inventory microservice
cd server/carsInventory
docker-compose up -d- Install Python dependencies and run Django
cd server
pip install -r requirements.txt
python manage.py migrate
python manage.py runserver- Build the React frontend
cd server/frontend
npm install
npm run build- Access the application
http://localhost:8000
-
Linting: Automated via GitHub Actions
- Python:
flake8 - JavaScript:
jshint
- Python:
-
API Endpoints: Test with curl or Postman
# Dealerships
curl http://localhost:3030/fetchDealers
# Car Inventory
curl http://localhost:3050/cars/1
# Django API
curl http://localhost:8000/djangoapp/get_dealers# Build Django image
cd server
docker build -t dealership-app .
# Deploy to Kubernetes
kubectl apply -f deployment.yaml- Deployment manifests in
server/deployment.yaml - Configured for IBM Cloud Kubernetes Service
- Persistent volumes for MongoDB data
- β Searchable state input (replaced dropdown)
- β Tactical dark theme with matrix green accents
- β Centered, readable review panels
- β Dynamic car inventory filtering
- β Car inventory microservice with MongoDB
- β Advanced search endpoints (make, model, year, mileage, price)
- β Django proxy services for API integration
- β Sentiment analysis integration
- β Multi-container Docker setup
- β Kubernetes orchestration
- β CI/CD pipeline with GitHub Actions
- β Automated code quality checks
This is a capstone project for educational purposes. Feel free to fork and adapt for your own learning!
This project is part of the IBM Full Stack Software Developer Professional Certificate program.
Alfred Galido
- GitHub: @Nobelgalido
- Location: Quezon City, Philippines
- Education: Computer Science Graduate (May 2025)
- IBM Full Stack Software Developer Professional Certificate
- IBM Skills Network for the comprehensive curriculum
- The open-source community for amazing tools and libraries
Built with β€οΈ as part of my journey to becoming a full-stack developer