Connect with talented local artisans and discover unique handmade products. A platform built with Kotlin and Ktor to showcase and sell artisanal goods.
View on GitHubSecure login and registration system for both artisans and customers, with role-based access control.
Detailed profiles for artisans to showcase their work, story, and expertise to potential customers.
Comprehensive product management with categories, search, filtering, and high-quality image support.
Streamlined order processing, tracking, and fulfillment system for both artisans and customers.
Integration with payment gateways for secure transactions between customers and artisans.
Customer feedback system to build trust and help artisans improve their products and services.
Kotlin, Ktor, Exposed ORM, PostgreSQL
JWT, OAuth2, Password Hashing
RESTful API, JSON, Swagger Documentation
JUnit, MockK, TestContainers
Docker, GitHub Actions, AWS
HTML, CSS, JavaScript, React
git clone https://github.com/arya458/ArtisanMarket.git
cd ArtisanMarket
./gradlew run
The application will be available at http://localhost:8080
Comprehensive API documentation is available in the repository. Here's a quick example of the authentication endpoint:
POST /api/auth/login
Content-Type: application/json
{
"email": "user@example.com",
"password": "securepassword"
}
Response:
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user": {
"id": 1,
"name": "John Doe",
"email": "user@example.com",
"role": "CUSTOMER"
}
}
For full API documentation, visit the API docs in the repository.
Contributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/amazing-feature
)git commit -m 'Add some amazing feature'
)git push origin feature/amazing-feature
)Please make sure to update tests as appropriate and follow the existing code style.