Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

34 Commits

Folders and files

Repository files navigation

🎓 Student Chat Application

Flutter TypeScript Node.js Prisma

📱 Overview

Student Chat is a modern, full-stack chat application designed specifically for students. Built with Flutter for the frontend and Node.js with TypeScript for the backend, this application provides a seamless and secure communication platform for educational purposes.

✨ Features

  • 🔐 Secure Authentication System
  • 💬 Real-time Chat Functionality
  • 👤 User Profile Management
  • 🎨 Modern Material Design 3 UI
  • 📱 Cross-platform Support (iOS, Android, Web)
  • 🔄 State Management with BLoC Pattern
  • 🛡️ Type-safe Development with TypeScript
  • 🗄️ Database Management with Prisma

🏗️ Architecture

Frontend

  • Framework: Flutter
  • State Management: Flutter BLoC
  • UI Components: Material Design 3
  • Key Features:
    • Responsive Design
    • Clean Architecture
    • Dependency Injection
    • Route Management

Backend

  • Runtime: Node.js
  • Language: TypeScript
  • Database ORM: Prisma
  • Key Features:
    • RESTful API
    • Type Safety
    • Modular Architecture
    • File Upload Support

🚀 Getting Started

Prerequisites

  • Flutter SDK
  • Node.js
  • npm or yarn
  • PostgreSQL Database
  • Prisma CLI

Environment Setup

  1. Clone the repository
git clone https://github.com/yourusername/student_chat.git
  1. Backend Setup
cd backend
npm install

# Create .env file from example
cp .env.example .env

# Edit .env file with your configuration
# Required environment variables:
# - DATABASE_URL: PostgreSQL connection string
# - JWT_SECRET: Secret key for JWT tokens
# - PORT: Server port (default: 3000)
# - CORS_ORIGIN: Allowed origins for CORS
# - UPLOADS_DIR: Directory for file uploads
# - MAX_FILE_SIZE: Maximum file size in bytes

# Generate Prisma client
npx prisma generate

# Start the server
npm run dev
  1. Frontend Setup
cd frontend
flutter pub get
flutter run

🔧 Environment Variables

Backend (.env)

# Server Configuration
PORT=3000

# Database Configuration
DATABASE_URL="postgresql://user:password@localhost:5432/student_chat"

# JWT Configuration
JWT_SECRET="your-secret-key"
JWT_EXPIRES_IN="24h"

# CORS Configuration
CORS_ORIGIN="*"

# File Upload Configuration
UPLOADS_DIR="uploads"
MAX_FILE_SIZE=5242880  # 5MB in bytes

🛠️ Tech Stack

  • Frontend:

    • Flutter
    • Flutter BLoC
    • Material Design 3
    • Dependency Injection
  • Backend:

    • Node.js
    • TypeScript
    • Prisma
    • Express.js

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with ❤️ by [Your Name]

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages