Skip to content

This project is a campus navigation system written in Go for a data structures course. It uses the Gin framework and Redis, focusing on graph data structures and Dijkstra's algorithm for shortest path finding.

License

Notifications You must be signed in to change notification settings

ShawnJeffersonWang/campus-guide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Campus Navigation Project

This project is a campus navigation system implemented in Go, designed as a data structures course project. It uses the Gin framework and Redis, with a focus on graph usage and the implementation of Dijkstra's algorithm for shortest path finding.

Table of Contents

Introduction

The Campus Navigation Project is designed to help students and visitors navigate a campus efficiently. The system utilizes graph data structures to represent the campus layout and implements Dijkstra's algorithm to find the shortest path between locations.

Features

  • Graph Representation: Models the campus using graph data structures.
  • Shortest Path Calculation: Implements Dijkstra's algorithm to find the shortest path between two points.
  • Redis Integration: Uses Redis for caching and fast data retrieval.
  • RESTful API: Provides a RESTful API to interact with the navigation system.

Technology Stack

  • Backend: Go, Gin framework
  • Database: Redis
  • Algorithm: Dijkstra's algorithm for shortest path

Setup

  1. Clone the repository:

    git clone https://github.com/ShawnJeffersonWang/CampusGuide.git
    cd CampusGuide
  2. Ensure you have Go and Redis installed on your system.

  3. Install the necessary Go dependencies:

    go mod tidy
  4. Start Redis server if it is not already running:

    redis-server
  5. Run the application:

    go run main.go

Usage

Once the application is running, you can access the API endpoints to interact with the navigation system.

Example Endpoints

  • Get Shortest Path: /api/shortest-path?start={start}&end={end}

Contributing

Contributions are welcome! Please fork this repository and submit pull requests with your changes.

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-branch).
  3. Commit your changes (git commit -am 'Add new feature').
  4. Push to the branch (git push origin feature-branch).
  5. Create a new Pull Request.

License

This project is licensed under the Apache 2.0 License. See the LICENSE file for details.

About

This project is a campus navigation system written in Go for a data structures course. It uses the Gin framework and Redis, focusing on graph data structures and Dijkstra's algorithm for shortest path finding.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages