Skip to content
/ jegoli Public

Jegoli is a feature-rich, Flutter-based food delivery app that provides a seamless experience for users to browse menus, order food, and manage their orders with ease.

Notifications You must be signed in to change notification settings

asm2212/jegoli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Jegoli Full-Stack Project

A full-stack application consisting of a Flutter mobile app (client) and a Node.js backend server with Express, TypeScript, and MongoDB.

Project Structure

jegoli/
├── client/                 # Flutter mobile app
│   ├── lib/
│   │   ├── models/         # Data models
│   │   ├── views/          # UI screens (formerly screens/)
│   │   ├── controllers/    # Business logic and state management
│   │   ├── services/       # API services and external integrations
│   │   ├── utils/          # Helper functions and utilities (formerly common/)
│   │   ├── widgets/        # Reusable UI components (formerly co_widget/)
│   │   └── main.dart       # App entry point
│   ├── assets/             # Images, fonts, and other assets
│   ├── test/               # Unit and widget tests
│   ├── android/            # Android-specific files
│   ├── ios/                # iOS-specific files
│   ├── pubspec.yaml        # Flutter dependencies
│   └── README.md           # Client-specific documentation
├── backend/                # Node.js server
│   ├── src/
│   │   ├── models/         # MongoDB schemas
│   │   ├── views/          # Templates or views (if applicable)
│   │   ├── controllers/    # Route handlers
│   │   ├── routes/         # Route definitions
│   │   ├── middlewares/    # Express middlewares
│   │   ├── config/         # Configuration files
│   │   └── utils/          # Helper functions
│   ├── tests/              # Unit and integration tests
│   ├── docs/               # API documentation
│   ├── assets/             # Static assets
│   ├── package.json        # Node.js dependencies
│   ├── tsconfig.json       # TypeScript configuration
│   └── .env.example        # Environment variables template
├── docs/                   # Project documentation
├── scripts/                # Build and deployment scripts
├── .gitignore              # Git ignore rules
└── README.md               # This file

Architecture

Both the client and backend follow the MVC (Model-View-Controller) pattern for better separation of concerns and scalability.

Client (Flutter)

  • Models: Represent data structures and business logic.
  • Views: UI components and screens.
  • Controllers: Manage state and handle user interactions.

Backend (Node.js/TypeScript)

  • Models: Database schemas and data models.
  • Views: Response templates (for API, this may be minimal).
  • Controllers: Handle HTTP requests and responses.
  • Routes: Define API endpoints.
  • Middlewares: Authentication, validation, etc.
  • Config: Database and app configuration.
  • Utils: Shared utilities.

Getting Started

Prerequisites

  • Flutter SDK
  • Node.js and npm
  • MongoDB

Setup

  1. Clone the repository.
  2. For the client: Navigate to client/ and run flutter pub get.
  3. For the backend: Navigate to backend/, run npm install, and set up your .env file based on .env.example.

Running the App

  • Client: flutter run
  • Backend: npm run dev

Contributing

Please follow the established folder structure and MVC pattern when adding new features.

About

Jegoli is a feature-rich, Flutter-based food delivery app that provides a seamless experience for users to browse menus, order food, and manage their orders with ease.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published