A robust RESTful API built with Rust and Axum, powering gowithdev.in - a technical blog platform.
- Secure authentication system for admin operations
- Complete blog post management (CRUD operations)
- Tag-based categorization for posts
- High-performance Rust-based backend
- RESTful API architecture
- Efficient post retrieval and filtering
- Language: Rust
- Framework: Axum
- Authentication: JWT (JSON Web Tokens)
- Database: Postgres
- Rust (latest stable version)
- Cargo package manager
- Postgres
-
Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-
Clone the Repository
git clone https://github.com/devak997/gowithdev-rsapi.git cd gowithdev-rsapi
-
Environment Setup
cp .env.example .env # Update .env with your configuration
-
Build and Run
cargo build cargo run
The API will be available at http://localhost:8000
(or your configured port).
Endpoint | Method | Description |
---|---|---|
/posts |
GET | Fetch all published posts |
/posts/:id |
GET | Get a specific post |
/login |
POST | Authenticate user |
Endpoint | Method | Description |
---|---|---|
/admin/posts |
POST | Create new post |
/admin/posts/:id |
PUT | Update post |
/admin/posts/:id |
DELETE | Delete post |
/admin/categories |
GET | List all categories |
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Write tests for new features
- Follow Rust coding standards
- Update documentation for any API changes
- Use conventional commits
This project is licensed under the MIT License - see the LICENSE file for details.
- Developer: Deva Kumar Kilim
- Email: devakumar997@gmail.com
- Blog: gowithdev.in
- Axum framework
- Rust community
- SeaORM