Project
Dealership Website
Dealership Website is a full-stack car dealership review platform built as a set of services: a Django web app, a React frontend, a Node.js dealer and review API, and a sentiment-analysis microservice.
Stack
- Django
- React
- Node.js
- MongoDB
- Flask
- Express
- NLTK
- Docker
- Microservices
- Sentiment Analysis
About this project
Users register and log in through Django. Dealerships and reviews are served by an Express API backed by MongoDB, and a Flask service scores review text as positive, negative, or neutral with NLTK. The React frontend provides the login, registration, and dealer pages.
Features
- User registration, login, and logout with Django
- Express API to fetch dealers (all, by state, by id) and reviews, and to insert reviews
- MongoDB storage for dealerships, reviews, and car inventory data
- Flask sentiment analyzer using NLTK's VADER model
- React pages for login, registration, and dealers
Purpose
- Build a full-stack application from multiple cooperating services
- Combine Django, React, Node.js, and Python microservices in one project
- Containerize the data API and database with Docker Compose
Scope & Limitations
- Deployed on Railway as four services (web, api, sentiment, MongoDB); every dealership and review is fictional seed data
- Sentiment is computed per request by the Flask service and is not stored with the review; VADER is word-level, so mixed reviews ("good service, but...") often read fully positive or negative
Tech Stack
- Web app: Python, Django
- Frontend: React 19, React Router, plain CSS (Night Flight instrument-panel theme)
- Data API: Node.js, Express, Mongoose, MongoDB
- Sentiment service: Flask, NLTK VADER
- Containers: Docker
Notes
- Started from an IBM Developer Skills Network course repository; the frontend was redesigned from scratch.
- Source code: https://github.com/Felipeact/dealership-website





