An open API service indexing awesome lists of open source software.

https://github.com/justarale/sewdb

A simple pattern database to store and organize my sewing patterns. Built with HONC-Stack and React, it allows friends to log in, browse my collection, and like their favorite patterns. Users can filter by size, category, and more
https://github.com/justarale/sewdb

cloudflare-workers cloudinary cookie-session drizzle-orm email-routing honc hono neon-postgres neondb react react-context react-hooks react-router resend-email-api sass typescript

Last synced: 2 months ago
JSON representation

A simple pattern database to store and organize my sewing patterns. Built with HONC-Stack and React, it allows friends to log in, browse my collection, and like their favorite patterns. Users can filter by size, category, and more

Awesome Lists containing this project

README

          

# ๐Ÿงต SewDB โ€“ React/HONC Fullstack App

## Description

SewDB is a private, full-stack web application for managing and browsing sewing patterns. It was developed as a personal project to explore the HONC stack โ€” a modern, serverless architecture combining Hono, Neon, and Drizzle โ€” which I first encountered during a hackathon.

The platform allows authenticated users to view, search, and manage sewing patterns. Features include protected routes, user authentication (secure HTTP-only cookies), role-based access control, and a responsive image carousel. The application is built with TypeScript on both the frontend (React + Vite) and backend, and integrates services like Cloudinary for image handling.

SewDB serves as both a practical tool for organizing creative work and a demonstration of modern full-stack development practices using lightweight, scalable technologies.

## ๐Ÿ“š Table of Contents

- [Features](#features)
- [Dependencies](#dependencies)
- [Planned Features](#planned-features)
- [License](#license)

## ๐Ÿš€ Features

- **๐Ÿ”’ Protected Routes** โ€“ Authenticated access required to view patterns.
- **๐Ÿ‘ค User Authentication** โ€“ Signup, login, logout with secure, HTTP-only cookies.
- **๐Ÿ›ก๏ธ Role-Based Access Control** โ€“ Admins can create, update, and delete entries.
- **๐Ÿงต Pattern Catalog** โ€“ Users can browse, search, and like/unlike sewing patterns.
- **๐Ÿ–ผ๏ธ Pattern Details View** โ€“ Carousel with detailed pattern information.
- **๐Ÿช Secure Session Handling** โ€“ JWT-based authentication via server-side middleware.
- **๐Ÿ“ฉ Email Verification** โ€“ Users must confirm their email after signup.
- **โ˜๏ธ Cloudinary Integration** โ€“ Image uploads and transformations handled via Cloudinary.
- **๐Ÿ“œ Infinite Scroll** โ€“ Patterns load automatically as the user scrolls down, improving performance and user experience.

## ๐Ÿ› ๏ธ Dependencies

#### Frontend

- **React**: TypeScript library for building user interfaces
- **React Router**: Library for handling routing in React applications
- **Axios**: Promise-based HTTP client for making restfull API requests
- **Icon Library**: For reusable custom vector-based UI icons from a library I developed
- **SASS**: CSS preprocessor for modular styling
- **Resend**: Email API used for sending verification emails

#### Backend

๐Ÿชฟ HONC - The backend of this project is created with the `create-honc-app` template and TypeScript and deployed with Cloudflare Workers.

Learn more about the HONC stack on the [website](https://honc.dev) or the main [repo](https://github.com/fiberplane/create-honc-app).

## ๐Ÿชก Planned Features

- **Advanced Filtering** โ€“ Users will be able to filter patterns by category, sizes, and intended-for attributes using query parameters.
- **User Profile Management** โ€“ Users will be able to update their account details (email, password) from a dedicated profile page.

## ๐Ÿ“„ License

This project is licensed under the [MIT License](https://github.com/justArale/SewDB/blob/main/LICENSE).