Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rust Search Engine

A search engine built with Rust, Actix Web, and MongoDB, deployed on DigitalOcean.

Features

  • CRUD Operations: Create, Read, Update, Delete operations for managing data.
  • Search Functionality: Search through the data using MongoDB queries.
  • API Endpoints: RESTful API endpoints for interacting with the search engine.
  • Pagination: Pagination support for search results.
  • Authentication: Basic authentication and authorization (if applicable).

Technologies

Getting Started

Prerequisites

  • Rust (latest version)
  • MongoDB
  • Docker (for deployment)
  • DigitalOcean account

Installation

  1. Clone the repository:
    git clone https://github.com/jayadityadev/Rust-Bootcamp.git
  2. Install dependencies: Navigate into the directory using cd and build the source code
    cd Rust-Bootcamp
    cargo build
  3. Set up MongoDB:
    • Install MongoDB and start the service.
    • Create a database and collection for your data.
    • Seed the database with initial data.

Running the application

  1. Start the MongoDB service:
    mongod --config /usr/local/etc/mongod.conf
  2. Run the application:
    cargo run
  3. Access the API at http://localhost:8080.

Docker deployment

  1. Build the Docker image:
    docker build -t rust-search-engine .
  2. Run the Docker container:
    docker run -d -p 8080:8080 rust-search-engine

DigitalOcean Deployment

  1. Create a Droplet on DigitalOcean with Docker installed.
  2. SSH into the Droplet and clone your repository.
  3. Build and run the Docker container on the Droplet.

API Documentation

  • GET /search: Search the database.
  • POST /items: Create a new item.
  • GET /items/{id}: Get an item by ID.
  • PUT /items/{id}: Update an item by ID.
  • DELETE /items/{id}: Delete an item by ID.

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

Contact

For any questions or suggestions, please contact jayaditaydev26@outlook.com

About

This repository will be documenting my team's journey of exploring and learning Rust along with some entry level projects.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages