ShopStream is a modern, responsive web application built with Angular 20, designed to facilitate food ordering and restaurant management. It features a comprehensive customer interface for browsing restaurants and placing orders, as well as a robust admin dashboard for managing users, restaurants, and orders.
- Browse Restaurants: View a list of available restaurants with their ratings and details.
- Restaurant Details: Explore detailed menus and information for each restaurant.
- Order Management: Place orders and view order history.
- User Authentication: Secure login and registration functionality.
- Responsive Design: Fully responsive UI optimized for mobile and desktop using Tailwind CSS and Flowbite.
- Restaurant Management: Add, update, and remove restaurant listings.
- Order Management: Track and manage incoming orders in real-time.
- User Management: View and manage registered users.
- Analytics: Get an overview of platform activity and performance.
- Frontend Framework: Angular v20
- Styling: Tailwind CSS
- UI Components: Flowbite
- State Management: Angular Services & Signals (inferred)
- Icons: Ng-Icons
- Carousel: ngx-owl-carousel-o
- Server-Side Rendering (SSR): Enabled for improved performance and SEO.
The project follows a modular architecture:
src/app/core: Contains singleton services, guards, and global configuration (e.g., Auth, Global State).src/app/features: Feature modules split by business domain:Auth: Authentication components (Login, Register).admin: Admin dashboard pages (Home, Restaurants, Orders, Users).customer: Customer-facing pages (Home, Restaurant Details, My Orders).
src/app/layout: Main layout components (Header, Footer, Sidebar).src/app/shared: Shared reusable components and pipes.
- Node.js (Latest LTS version recommended)
- Angular CLI (
npm install -g @angular/cli)
-
Clone the repository:
git clone <repository-url> cd shop-stream
-
Install dependencies:
npm install
-
Run the development server:
ng serve
Navigate to
http://localhost:4200/. The application will automatically reload if you change any of the source files. -
Build for production:
ng build
The build artifacts will be stored in the
dist/directory.
The application connects to a backend server for data persistence. The base URL is configured in src/app/core/Services/configuration/config.ts.
export class Config {
static BaseUrl: string = 'https://shopstream-backend.onrender.com';
}Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/YourFeature). - Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature/YourFeature). - Open a Pull Request.
This project is licensed under the MIT License.