๐ถ๏ธ A comprehensive digital encyclopedia for spices - Full-stack web application with Next.js, Node.js, and PostgreSQL
Spice Encyclopedia is a modern web platform that aims to provide detailed information about various spices from around the world. The platform features comprehensive spice profiles, culinary uses, medicinal properties, recipes, and a community-driven content ecosystem.
- Monolithic Architecture: Simplified from microservices to a cleaner monolithic structure
- Unified Database: All services now share a single PostgreSQL database
- Simplified Search: Replaced Elasticsearch with PostgreSQL full-text search
- Streamlined Storage: Consolidated file storage to a single solution
- Spice Database: Detailed profiles for hundreds of spices with images, origins, and properties
- Recipe Collection: Curated recipes featuring spice combinations
- Educational Content: Articles about spice history, cultivation, and usage
- User Contributions: Reviews, ratings, and personal collections
- Advanced Search: Filter by cuisine, flavor profile, origin, and more
- Nutritional Information: Health benefits and nutritional content
- Medicinal Properties: Evidence-based information on therapeutic uses
- Personalization: User preferences and recommendations
- Node.js with Express and TypeScript
- Prisma ORM for database interactions
- PostgreSQL as primary database
- Redis for caching and session management
- JWT Authentication with refresh token system
- Rate Limiting for security
- Next.js 14 with React 18
- TypeScript for type safety
- Tailwind CSS for styling
- Zustand for state management
- next-intl for internationalization
- Framer Motion for animations
- React Hook Form for form handling
- Node.js 18.x or higher
- PostgreSQL 15.x or higher
- Redis 7.x or higher
- Git for version control
# HTTPS
https://github.com/efdkikk/spice-encyclopedia.git
# SSH
[email protected]:efdkikk/spice-encyclopedia.git
cd spice-encyclopedia# Backend
cp backend/.env.example backend/.env
# Edit backend/.env with your configuration
# Frontend
cp frontend/.env.example frontend/.env.local
# Edit frontend/.env.local with your configuration# Backend
cd backend
npm install
# Frontend
cd ../frontend
npm install# Backend
cd backend
npx prisma migrate dev --name init
npx prisma db seed# Backend (in one terminal)
cd backend
npm run dev
# Frontend (in another terminal)
cd frontend
npm run devThe project includes deployment scripts for various environments:
deploy-easy.ps1: Simple deployment script for Windowsdeploy-docker.ps1: Docker-based deploymentdeploy-kubernetes.ps1: Kubernetes deployment (advanced)
We welcome contributions to Spice Encyclopedia! Please see our contributing guidelines for more information.
This project is licensed under the MIT License - see the LICENSE file for details.
- All the spice enthusiasts and culinary experts who contributed content
- The open-source community for providing valuable tools and libraries