Skip to content

SHA888/RMVT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

🚀 RMVT Template

A full-stack template for building modern web applications with Rust, MongoDB, Vue.js, and TypeScript. This template combines a performant Rust backend, a NoSQL MongoDB database, and a reactive Vue.js frontend, inspired by the MEVN stack.

🛠️ Tech Stack

  • Backend: Rust (Axum for REST APIs, MongoDB driver)
  • Database: MongoDB (NoSQL database)
  • Frontend: Vue.js with TypeScript (Vite for fast builds, Tailwind CSS for styling)
  • Tools: GitHub Actions for CI/CD, optional Docker support

📋 Prerequisites

Before you begin, ensure you have the following installed:

  • Rust: Stable version (install via rustup)
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  • Node.js: v20 or higher (install via nvm or official installer)
  • MongoDB: v7 or higher (install locally or use MongoDB Atlas)
  • Git: For version control

🚀 Setup

1. Clone the Repository

git clone https://github.com/SHA888/RMVT.git
cd RMVT

2. Backend Setup

# Navigate to backend directory
cd backend

# Copy environment file
cp .env.example .env

# Edit .env with your database configuration
# DATABASE_URL=mongodb://localhost:27017/rmvt_db

# Start the backend
cargo run

The backend will be available at: http://localhost:3000

3. Frontend Setup

# Navigate to frontend directory
cd frontend

# Copy environment file
cp .env.example .env

# Edit .env with your API URL
# VITE_API_URL=http://localhost:3000

# Install dependencies
npm install

# Start the development server
npm run dev

The frontend will be available at: http://localhost:5173

4. Database Setup

  1. Ensure MongoDB is running locally or via MongoDB Atlas
  2. The backend will automatically create the rmvt_db database and required collections on first run

🐳 Optional Docker Setup

For containerized development:

  1. Ensure Docker and Docker Compose are installed
  2. Run the full stack:
    docker-compose -f docker/docker-compose.yml up --build

Access the services:

🧪 Testing

Backend Tests

cd backend
cargo test

Frontend Tests

cd frontend
npm test

🚀 Deployment

Remember to update environment variables in .env files for production URLs.

🤝 Contributing

We welcome contributions! Here's how to get started:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature-name
  3. Make your changes
  4. Commit your changes: git commit -m "Add feature"
  5. Push to the branch: git push origin feature-name
  6. Open a pull request

Found a bug or have a suggestion? Please open an issue.

📄 License

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

About

Rust, MongoDB, Vue.js, TypeScript Template

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors