Git Product home page Git Product logo

url-shortner's Introduction

Url Shortner

Project developed during Harvard CS50

Overview

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.

Demo

havard_cs50-final_project.mp4

Features

  • 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.

Techs Used

  • ReactJS
  • Vite
  • TypeScript
  • Java
  • Spring Boot
  • MongoDB
  • Docker Compose

Project Structure

.
├── apps
│    └──├── web
│    └── api
└── docker-compose.yml

Getting Started

  1. Clone the repository:

    git clone https://github.com/henriq4/url-shortner.git
  2. Navigate to the project directory:

    cd url-shortner
  3. Run the database setup with docker compose:

    docker compose up -d

    This will initialize the MongoDB instance and the Mongo Express server.

  4. Start the web and api applications:

    • Web:

      cd web
      pnpm install
      pnpm run dev
    • Api:

      cd api
      ./gradlew bootRun
  5. Access the application:

Contribution

Feel free to contribute to the project by creating issues or submitting pull requests. Your feedback and contributions are highly appreciated.

License

This project is under MIT License and philosophy on academic honesty from CS50.

Author

@henriq4
Software Developer

GitHub LinkedIn

url-shortner's People

Contributors

henriq4 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.