A robust, full-stack template for building enterprise-grade web applications with Rust, PostgreSQL, Angular, and TypeScript. This template is ideal for structured, large-scale projects with a performant Rust backend and an Angular frontend.
- Backend: Rust (Axum for REST APIs, SQLx for database access)
- Database: PostgreSQL (relational database)
- Frontend: Angular with TypeScript (Angular CLI, Tailwind CSS for styling)
- Tools: GitHub Actions for CI/CD, optional Docker support
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)
- PostgreSQL: v17 recommended (install via package manager, e.g.,
brew install postgresqlon macOS) - Angular CLI: Install globally with
npm install -g @angular/cli - Git: For version control
git clone https://github.com/SHA888/RPAT.git
cd RPAT# Navigate to backend directory
cd backend
# Copy environment file
cp .env.example .env
# Edit .env with your database configuration
# DATABASE_URL=postgres://user:password@localhost:5432/rpat_db
# Install SQLx CLI (if not already installed)
cargo install sqlx-cli
# Run database migrations
sqlx migrate run
# Start the backend
cargo runThe backend will be available at: http://localhost:3000
# Navigate to frontend directory
cd frontend
# Copy environment file
cp .env.example .env
# Edit .env with your API URL
# API_URL=http://localhost:3000
# Install dependencies
npm install
# Start the development server
ng serveThe frontend will be available at: http://localhost:4200
- Ensure PostgreSQL is running locally
- Create the database:
createdb rpat_db
- Database migrations are applied automatically during backend setup
For containerized development:
- Ensure Docker and Docker Compose are installed
- Run the full stack:
docker-compose -f docker/docker-compose.yml up --build
Access the services:
- Backend: http://localhost:3000
- Frontend: http://localhost:4200
- PostgreSQL: localhost:5432
cd backend
cargo testcd frontend
ng test- Backend: Deploy to Fly.io, Render, or AWS ECS
- Frontend: Deploy to Vercel, Netlify, or Cloudflare Pages
- Database: Use managed PostgreSQL on Supabase, Neon, or AWS RDS
Remember to update environment variables in .env files for production URLs.
We welcome contributions! Here's how to get started:
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make your changes
- Commit your changes:
git commit -m "Add feature" - Push to the branch:
git push origin feature-name - Open a pull request
Found a bug or have a suggestion? Please open an issue.
This project is licensed under the MIT License. See the LICENSE file for details.