Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rahad-ullah/yummy-server
Fullstack Recipe Sharing Platform
https://github.com/rahad-ullah/yummy-server
expressjs mongodb mongoose nodejs recipe recipe-app recipe-website
Last synced: 14 days ago
JSON representation
Fullstack Recipe Sharing Platform
- Host: GitHub
- URL: https://github.com/rahad-ullah/yummy-server
- Owner: Rahad-Ullah
- Created: 2024-10-13T16:51:26.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2024-10-31T05:00:57.000Z (17 days ago)
- Last Synced: 2024-11-03T13:03:40.262Z (14 days ago)
- Topics: expressjs, mongodb, mongoose, nodejs, recipe, recipe-app, recipe-website
- Language: TypeScript
- Homepage:
- Size: 252 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Yummy Server
## Recipe Sharing Platform
The **Yummy** allows users to read and share recipe post with ease and provides admins the ability to manage these recipes and users.
---
### [Live Server](https://yummy-server-tau.vercel.app)
```console
https://yummy-server-tau.vercel.app
```## Used Technologies:
- TypeScript
- Node.js
- Express.js
- Mongoose
- JWT
- Zod## Features
### 1. User Authentication and Authorization
- Users can **sign up** and **log in** using their email and password to access the platform.
- Admins have special privileges to **manage recipes** and **moderate user activity**.### 2. Recipe Creation and Management
- Users can **create**, **update**, and **delete** their own recipes.
- Each recipe includes essential details such as:
- Title
- Description
- Ingredients
- Instructions
- Image### 3. Admin Recipe Moderation
- Admins can manage recipes platform-wide to ensure that content adheres to community guidelines.
- They have the ability to **update** or **remove** any recipe.### 4. Recipe Browsing and Search
- Users can explore a wide range of recipes.
- A **search feature** allows filtering by:
- Ingredients
- Title
- Categories (e.g., Vegan, Desserts)### 5. User Interaction
- Users can:
- **Leave comments** on recipes.
- **Rate recipes**.### 6. Recipe Sharing
- Users can share recipes by:
- Copying a **link**.
- Sharing directly via **social media platforms**.### 7. User Dashboard
- Users can view his own recipes in the dashboard.
- They can manage their own recipes.### 8. Admin Dashboard
- Admins can view platform-wide **stats**.
- They can manage user-generated content and ensure quality control over the platform's recipe database.### 9. Error Handling
- Comprehensive error handling ensures proper responses for:
- Validation errors
- Duplicate entries
- Unauthorized actions
- Not found routes### 10. Authentication Middleware
- Middleware is implemented to secure the platform, ensuring:
- Only authenticated users can access recipe creation and management.
- Only admins can access admin control areas.### 11. Security
- **JWT-based authentication** protects user accounts.
- Ensures that only authorized users and admins can access sensitive features and areas of the platform.## How to setup in local computer:
### Clone the Repository:
```plain
git clone https://github.com/Rahad-Ullah/Yummy-Server.git
```### Install Dependencies:
```markdown
npm install
```### Environment Variables:
- Create a `.env` file in the root directory.
- Add the following environment variables:```markdown
PORT=5000
DATABASE_URL=your_database_url
BCRYPT_SALT_ROUNDS=any_integer_number
JWT_ACCESS_SECRET=your_jwt_secret
JWT_REFRESH_SECRET=your_jwt_secret
JWT_ACCESS_EXPIRES_IN=1d
JWT_REFRESH_EXPIRES_IN=365d
SSLCZ_STORE_ID=your_sslcommerz_id
SSLCZ_STORE_PASSWORD=your_sslcommerz_password
```### Run the Application:
```markdown
npm run start:dev
```## Happy Coding 😎