A comprehensive full-stack web application for car dealerships with microservices architecture, featuring dealer management, car inventory, review system, and sentiment analysis.
This application demonstrates a complete full-stack development project with multiple microservices, showcasing modern web development practices including React frontend, Django backend, Node.js microservices, and MongoDB database integration.
For a detailed technical architecture overview, see ARCHITECTURE.md.
- React.js with Bootstrap styling
- Components: Dealers, Reviews, Login/Register, Car Inventory Search
- Features: Responsive design, real-time data fetching, user authentication
- Django - Main backend with REST APIs
- Node.js/Express - Car inventory microservice
- Flask - Sentiment analysis microservice
- MongoDB - Database for dealers, reviews, and car inventory
-
Car Inventory Service (Node.js/Express)
- MongoDB integration with Mongoose
- RESTful APIs for car CRUD operations
- Filtering by make, model, year, mileage, price
- Port: 3050
-
Sentiment Analysis Service (Flask)
- NLTK VADER sentiment analysis
- Real-time review sentiment processing
- Local deployment (replacing IBM Cloud Code Engine)
- Port: 5000
- React.js 18.x
- Bootstrap 5.x
- CSS3 with custom styling
- React Router for navigation
- Django 5.2.4
- Django REST Framework
- Python 3.11
- Node.js 18.x
- Express.js 4.18.2
- Flask (Python)
- NLTK (Natural Language Processing)
- MongoDB 6.x
- Mongoose ODM
- Docker containerization
- Docker Desktop
- Git & GitHub
- IBM Skills Network IDE
- VS Code (local development)
xrwvm-fullstack_developer_capstone/
โโโ server/
โ โโโ djangoapp/ # Django backend
โ โ โโโ microservices/ # Sentiment analysis service
โ โ โโโ restapis.py # REST API endpoints
โ โ โโโ views.py # Django views
โ โโโ frontend/ # React frontend
โ โ โโโ src/
โ โ โ โโโ components/
โ โ โ โ โโโ Dealers/ # Dealer components
โ โ โ โ โโโ Header/ # Header component
โ โ โ โ โโโ Login/ # Authentication
โ โ โ โ โโโ Register/
โ โ โ โโโ App.js # Main React app
โ โ โโโ package.json
โ โโโ carsInventory/ # Car inventory microservice
โ โ โโโ app.js # Express server
โ โ โโโ inventory.js # MongoDB schema
โ โ โโโ package.json
โ โโโ database/ # Database service
โ โ โโโ app.js # Node.js backend
โ โ โโโ data/ # JSON data files
โ โ โโโ package.json
โ โโโ manage.py # Django management
โโโ venv/ # Python virtual environment
โโโ ARCHITECTURE.md # Detailed technical architecture overview
โโโ README.md # This file
- Dealer Management: Browse dealers by state, view dealer details
- Review System: Post and view dealer reviews with sentiment analysis
- Car Inventory: Search and filter cars by various criteria
- User Authentication: Login/Register system with session management
- Real-time Sentiment Analysis: Analyze review sentiments using NLTK
- Microservices Architecture: Independent services for different functionalities
- RESTful APIs: Complete API suite for all operations
- Responsive Design: Mobile-friendly interface
- Data Filtering: Advanced search and filter capabilities
- Error Handling: Comprehensive error handling across all services
- Node.js 18.x or higher
- Python 3.11 or higher
- Docker Desktop
- MongoDB (via Docker)
-
Clone the repository
git clone https://github.com/Mubeen-Baloch/xrwvm-fullstack_developer_capstone.git cd xrwvm-fullstack_developer_capstone -
Start MongoDB (Docker)
docker run -d -p 27017:27017 --name mongodb mongo:latest
-
Setup Django Backend
cd server python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt python manage.py runserver
-
Setup Car Inventory Microservice
cd server/carsInventory npm install node run build -
Setup Sentiment Analysis Microservice
cd server/djangoapp/microservices pip install flask nltk python app.py -
Setup React Frontend
cd server/frontend npm install npm run build -
Setup Database Service
cd server/database npm install node run build
GET /djangoapp/dealers- Get all dealersGET /djangoapp/dealer/{id}- Get dealer detailsGET /djangoapp/reviews/dealer/{id}- Get dealer reviewsPOST /djangoapp/postreview/{id}- Post a review
GET /cars/{dealer_id}- Get cars by dealerGET /carsbymake/{dealer_id}/{make}- Filter by makeGET /carsbymodel/{dealer_id}/{model}- Filter by modelGET /carsbyyear/{dealer_id}/{year}- Filter by yearGET /carsbymaxmileage/{dealer_id}/{mileage}- Filter by mileageGET /carsbyprice/{dealer_id}/{price}- Filter by price
POST /analyze- Analyze review sentiment
- Full-Stack Development: Complete application from frontend to database
- Microservices Architecture: Independent service design and implementation
- API Development: RESTful API design and implementation
- Database Design: MongoDB schema design and relationships
- Containerization: Docker setup and deployment
- Version Control: Git workflow and collaboration
- Agile Development: Iterative development with continuous improvement
- Error Handling: Comprehensive error management across services
- Code Organization: Clean, maintainable code structure
- Documentation: Complete project documentation
- Testing: Manual testing and debugging
- Challenge: IBM Cloud Code Engine deployment restrictions
- Solution: Implemented local sentiment analysis service using Flask and NLTK
- Challenge: Docker container connectivity problems
- Solution: Proper Docker networking and connection string configuration
- Challenge: Coordinating multiple services and APIs
- Solution: Standardized API design and comprehensive error handling
- Lines of Code: ~5,000+ lines across all services
- API Endpoints: 15+ RESTful endpoints
- React Components: 8+ reusable components
- Database Collections: 3 (dealers, reviews, cars)
- Microservices: 3 independent services
- Development Time: 6+ weeks of iterative development
- Landing Page: Browse dealers by state
- Dealer Details: View dealer information and reviews
- Car Inventory: Search and filter cars by various criteria
- Review System: Post reviews with sentiment analysis
- User Authentication: Secure login/register functionality
- Real-time Sentiment Analysis: Instant review sentiment processing
- Advanced Filtering: Multi-criteria car search functionality
- Responsive Design: Mobile-friendly interface
- Microservices Communication: Seamless service integration
- Error Handling: Graceful error management
- User Dashboard: Personalized user experience
- Advanced Analytics: Dealer performance metrics
- Payment Integration: Online payment processing
- Mobile App: React Native mobile application
- Cloud Deployment: AWS/Azure production deployment
- CI/CD Pipeline: Automated testing and deployment
This project is part of the IBM Full Stack Software Developer Professional Certificate program.
Mubeen Baloch
- GitHub: Mubeen-Baloch
- Project: Car Dealership Full Stack Application
- Course: IBM Full Stack Software Developer Professional Certificate
This project demonstrates comprehensive full-stack development skills with modern web technologies and microservices architecture.