Mujtabaa07/coffeeShop
MsCafe was founded with a simple mission: to serve the best coffee in town.with User friendly interface UI
β Coffee Shop - Open Source E-commerce Platform
A modern, full-stack coffee shop e-commerce application built with React.js and Node.js.
Table of Contents
- Project Overview
- Features
- Tech Stack
- Project Structure
- Installation
- Usage
- Known Issues
- Screenshots
- Contributing
- License
π Project Overview
π Features
- User Authentication: Email/Password and Google OAuth login
- Product Catalog: Browse coffee, cakes, milkshakes, and soups
- Shopping Cart: Add/remove items with real-time updates
- Order Management: Place and track orders
- Product Reviews: Rate and review products
- Admin Panel: Manage products, orders, and users
- Responsive Design: Mobile-friendly interface
- Customer Support: Interactive chatbot
π οΈ Tech Stack
Frontend
- React.js - UI Framework
- Redux Toolkit - State Management
- Tailwind CSS - Styling
- React Router - Navigation
Backend
- Node.js & Express.js - Server
- MongoDB - Database
- JWT & Passport.js - Authentication
- PM2 - Process Management
π¦ Quick Start
Prerequisites
- Node.js (v18+)
- MongoDB
- Git
π Project Structure :
β coffeeShop/
βββ .github/ # GitHub configuration
β βββ ISSUE_TEMPLATE/ # Standardized issue templates
β β βββ Bug-report.yaml
β β βββ Doc.yaml
β β βββ Feature-Request.yaml
β β βββ general_issues.yaml
β βββ workflow/ # CI/CD GitHub Actions
β β βββ PRs.yaml
β β βββ auto-comment-pr.yaml
β β βββ auto-comment.yaml
β β βββ autoCloseLinkedIssues.yaml
β β βββ main.yaml
β βββ PULL_REQUEST_TEMPLATE.md # Template for pull requests
β
βββ backend/ # Backend logic and APIs
β βββ __tests__/ # Test suites
β βββ config/ # App configuration and constants
β βββ middleware/ # Express middleware (auth, logging, etc.)
β βββ models/ # Mongoose data models
β βββ routes/ # API route handlers
β βββ seeders/ # Seed data for DB initialization
β
βββ public/ # Static assets like icons and images
β
βββ src/ # Frontend source code
β βββ Pages/ # Page-level components for routing
β βββ Store/ # State management (Redux, Zustand, etc.)
β βββ components/ # Reusable UI components
β βββ services/ # API interactions and service logic
β βββ utils/ # Utility functions
β βββ App.css
β βββ App.js
β βββ App.test.js
β βββ index.css
β βββ index.js
β βββ logo.svg
β βββ reportWebVitals.js
β βββ setupTests.js
β
βββ .gitignore # Specifies files to exclude from git
βββ CODE_OF_CONDUCT.md # Community standards and behavior
βββ CONTRIBUTING.md # Guidelines for contributing to the project
βββ LICENSE # Legal license (e.g., MIT, Apache)
βββ README.md # Entry point for documentation
βββ package-lock.json # Exact dependency versions
βββ package.json # Project metadata and dependencies
βββ postcss.config.js # CSS transformer configuration
βββ tailwind.config.js # TailwindCSS styling configuration
Installation
- Clone the repository
git clone https://github.com/Mujtabaa07/coffeeShop.git
cd coffeeShop- Setup Backend
cd backend
npm install
# Create your local environment file
cp .env.example .env
# OR copy from the local example
cp .env.local.example .env
# Edit .env with your actual values (MongoDB URI, JWT secret, Google OAuth, etc.)
nano .env
# Start the backend server
npm start- Setup Frontend
# In project root directory
npm install
# Create your local environment file
cp .env.example .env.local
# OR copy from the local example
cp .env.local.example .env.local
# Edit .env.local with your API URL and Google Client ID
nano .env.local
# Start the frontend
npm start- Open your browser
- Frontend: http://localhost:3000
- Backend API: http://localhost:3000/api
βοΈ Environment Configuration
Backend (.env)
Create a .env file in the backend/ directory:
MONGODB_URI=mongodb://localhost:27017/mscafe_coffeeshop
JWT_SECRET=your-jwt-secret-key
GOOGLE_CLIENT_ID=your-google-client-id
GOOGLE_CLIENT_SECRET=your-google-client-secret
PORT=3000
NODE_ENV=development
# Or run separately:
# Backend: cd backend && npm run dev
# Frontend: npm startOnce the server is running, you can view the app at (http://localhost:3000).
Usage
To use the app:
- View Coffee Menu: Browse through the available coffee items on the homepage.
- Learn About Coffee: Check out the sourcing section to learn more about our sustainably sourced beans.
- Place an Order: In future releases, you'll be able to add items to the cart and complete orders.
Known Issues
1. Edit Profile Button Not Functional
The Edit Profile button on the user profile screen is currently non-functional, clicking or tapping it does not trigger any visible action.
Possible Causes
- The button may lack an
onClickor equivalent event handler - The navigation route to the Edit Profile screen may be missing or misconfigured
- The Edit Profile screen/component might not be implemented or properly linked
Suggested Troubleshooting
- Check if the button has a correctly assigned event handler
- Verify that navigation to the Edit Profile screen is set up and routed properly
- Confirm that the target screen/component exists and is integrated into the navigation system
ScreenShots
Home Page:
Coffee Menu:
Login Page
Testimonials
Contributing
We welcome contributions! Follow the steps below to contribute to this project:
# Click the "Fork" button at the top-right of the repository page to create a copy in your GitHub account.Frontend (.env.local)
Create a .env.local file in the root directory:
REACT_APP_API_URL=http://localhost:3000/api
REACT_APP_GOOGLE_CLIENT_ID=your-google-client-idNote: Your local .env files are ignored by Git for security. Use the provided .env.example files as templates.
π Live Demo
- Frontend: https://coffee-shop-teal.vercel.app
- API: Contact for backend access
π± Screenshots
Coming soon - Add your screenshots here
π€ Contributing
We welcome contributions! Please see CONTRIBUTING.md for details.
- Fork the repository
- Clone your fork locally (
git clone https://github.com/<your-username>/coffeeShop.git cd coffeeShop) - Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
π Contribution Tips
- Use the ISSUE_TEMPLATE for bugs, feature requests, or improvements.
- Follow the CODE_OF_CONDUCT.md and keep things respectful and inclusive.
- Review the CONTRIBUTING.md for detailed guidance.
New to open source? Donβt worry β this project is beginner-friendly! π±
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π¨βπ» Author
Mujtabaa07 - GitHub
β Support
If you find this project helpful, please give it a star! β



