Project developed during Harvard CS50
This is a full-stack web application for URL shortening, built with modern technologies. The front end is developed using ReactJS with Vite and TypeScript, providing a responsive and efficient user interface. On the backend, the application leverages Java with Spring Boot, ensuring a robust and scalable server-side architecture. MongoDB serves as the database, facilitating data storage and retrieval.
havard_cs50-final_project.mp4
- URL Shortening: Easily create shortened versions of long URLs for convenient sharing.
- User-Friendly Interface: A clean and intuitive front-end design built with ReactJS to enhance user experience.
- Secure Backend: The backend, powered by Java and Spring Boot, ensures a secure and reliable server environment.
- Data Storage with MongoDB: Persistent storage of URL mappings in a MongoDB database for seamless access and retrieval.
- Dockerized Environment: Utilizes Docker Compose to provide a containerized setup, including a MongoDB instance and a Mongo Express server for database management.
- ReactJS
- Vite
- TypeScript
- Java
- Spring Boot
- MongoDB
- Docker Compose
.
├── apps
│ └──├── web
│ └── api
└── docker-compose.yml
-
Clone the repository:
git clone https://github.com/henriq4/url-shortner.git
-
Navigate to the project directory:
cd url-shortner
-
Run the database setup with docker compose:
docker compose up -d
This will initialize the MongoDB instance and the Mongo Express server.
-
Start the web and api applications:
-
Web:
cd web
pnpm install
pnpm run dev
-
Api:
cd api
./gradlew bootRun
-
-
Access the application:
- Web client: http://localhost:5173
- Mongo Express: http://localhost:8081
Feel free to contribute to the project by creating issues or submitting pull requests. Your feedback and contributions are highly appreciated.
This project is under MIT License and philosophy on academic honesty from CS50.
@henriq4 |