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
- Host: GitHub
- URL: https://github.com/justarale/sewdb
- Owner: justArale
- License: mit
- Created: 2025-02-20T06:40:01.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-21T08:21:02.000Z (about 1 year ago)
- Last Synced: 2025-05-21T09:41:21.937Z (about 1 year ago)
- Topics: 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
- Language: TypeScript
- Homepage: https://sewdb.arale.space
- Size: 1.38 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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).