This project uses the MEAN stack:
- Mongoose.js: database
- Express.js: backend framework
- Angular: frontend framework
- Node.js: runtime environment
Other tools and technologies used:
- Bootstrap: layout and styles
- angular-chart.js: visualization
- docker:deployment
- redis: cache
- A full-stack web application by using MEAN stack (MongoDB, Express, Angular, Node.js) to provide URL Shortener Service
- Deployed the application by using Docker, Redis as the cache layer and Nginx for high-performance
- Using the third-party library angular-chart.js to visualize the user distribution information (country, platform, browser) and click rates of specific URLs
- Install Docker,Redis
- Filling the mongoose username and password in the tinyurl/app/server.js
mongoose.connect("mongodb://<username>:<password>@<host:database>", {useMongoClient: true});
git clone https://github.com/Tivcrmn/tinyurl.git
cd tinyurl/app && docker build -t <image-name>
cd ..
docker-compose up --build