
Recipe Community
A full stack recipe community with user interaction and recipe sharing.
This full-stack application lets you create, share, and discover recipes. Users can:
- Add new recipes with details steps and ingredients
- Comment on and rate existing recipes
- Save favorites
Admins get extra features for managing users, recipes, and reviews.
Technologies
-
Frontend: Built with React, leveraging Redux for state management, Axios for API interaction, and Material-UI for styling.
-
Backend: Powered by
Express.js
andMongoDB
, with server-side sessions for secure authentication/authorization andGridFS
for user file management. It provides routes for users, recipes, storage, and reviews, and auto-generates API documentation with custom middleware. -
Testing & Deployment: Includes Postman collections for testing and Docker configurations, as well as CI/CD pipelines for Docker build and deployment.
version: '3'
services:
frontend:
image: meinya/recipe-fe
restart: unless-stopped
ports:
- "7120:80"
environment:
- "TZ=America/Toronto"
backend:
image: meinya/recipe-be
restart: unless-stopped
ports:
- "9100:8000"
environment:
- "TZ=America/Toronto"
- "PORT=8000"
- "MONGODB_URI=mongodb://root:REPLACE_ME@mongo:27017/RecipeAPI?authSource=admin"
- "ALLOWED_ORIGINS=http://localhost:3000,https://recipe.muddy.ca"
- "BASE_URL=https://be-recipe.muddy.ca"
mongo:
image: mongo
restart: always
volumes:
- mongo:/data/db
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: REPLACE_ME
volumes:
mongo:

Tags:
Express.js,
Postman,
React.js,
REST,
Axios,
MongoDB,
Mongoose,
GridFS,
TypeScript