A Rust web application for group management - a toy project to learn Rust with goals to create a Meetup equivalent. The application uses Actix-web as the HTTP server with PostgreSQL as the database and Tera templating for HTML rendering.
- Actix Web - Web framework for Rust
- PostgreSQL - Database with Docker support
- SQLx - Async PostgreSQL driver with compile-time checked queries
- Tera - Template engine (Jinja2-like)
- Argon2 - Password hashing library
- htmz - Minimalist HTML microframework (166 bytes)
- Task - Task runner/build tool
To install Task (not mandatory), please refer to the installation guide.
- Copy environment configuration:
cp .env.example .env- Start PostgreSQL database:
task db-up- Run the application:
task devThe application will be available at http://127.0.0.1:8080
# Build the project
task build
# Build for production
task build-release
# Run the service locally
task run
# Format code
task fmt
# Run tests
task test
# Run pre-commit checks (format and test)
task pre-commit# Start full stack (database + application)
task docker-up
# View logs
task docker-logs
# Stop the stack
task docker-downsrc/api/- REST endpoints and HTML handlerssrc/db/- Database layer with business logic and modelssrc/middleware/- Authentication middlewaresrc/templates/- Tera HTML templatessrc/static/- CSS, JS assetsmigrations/- PostgreSQL schema migrationstests/- Rust integration tests and Playwright E2E tests