No description https://chat.jusemon.com/
Find a file
Juan Sebastian Montoya 49683c09ed
All checks were successful
/ test (push) Successful in 1s
chore: update GitHub Actions workflow echo command
- Modified the echo command in demo.yaml to reflect an updated message for clarity during testing
2025-04-10 16:08:08 -05:00
.forgejo/workflows chore: update GitHub Actions workflow echo command 2025-04-10 16:08:08 -05:00
.vscode Feature/Use fastify instead of express (#1) 2025-03-06 19:15:56 -05:00
apps chore: update Prisma migration commands for environment configuration 2025-04-10 14:46:54 -05:00
packages Feature/Use fastify instead of express (#1) 2025-03-06 19:15:56 -05:00
.dockerignore feat: improve authentication and cookie management 2025-03-10 00:41:39 -05:00
.env.example chore: update environment configuration and Docker setup 2025-04-10 14:36:22 -05:00
.gitignore Feature/Use fastify instead of express (#1) 2025-03-06 19:15:56 -05:00
.npmrc feat(create-turbo): create basic 2025-03-03 22:46:02 -05:00
docker-compose.yml chore: update environment configuration and Docker setup 2025-04-10 14:36:22 -05:00
LICENSE refactor: migrate from Next.js to SolidJS and GraphQL 2025-03-04 01:08:52 -05:00
package-lock.json chore: add Keyv package for improved caching and key-value storage 2025-03-10 09:10:17 -05:00
package.json chore: update environment configuration and deployment scripts 2025-03-06 23:08:10 -05:00
README.md chore: update environment configuration and Docker setup 2025-04-10 14:36:22 -05:00
turbo.json feat: improve authentication and cookie management 2025-03-10 00:41:39 -05:00

Unreal Chat

A real-time chat application built with SolidJS, GraphQL, and Prisma.

Project Structure

This is a monorepo containing the following packages:

  • apps/api: GraphQL API server built with Apollo Server, GraphQL, and Prisma
  • apps/web: Web client built with SolidJS and URQL GraphQL client

Features

  • Real-time chat with GraphQL subscriptions
  • User authentication
  • Chat room management
  • Message sending and receiving
  • Public and private chat rooms

Getting Started

Prerequisites

  • Node.js (v18 or later)
  • npm (v10 or later)
  • MariaDB or MySQL

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/unreal-chat.git
cd unreal-chat
  1. Install dependencies:
npm install
  1. Set up environment variables:

Copy the .env.example file to .env, then update the values as needed.

  1. Initialize the database:
npm run prisma:init
  1. Start the development servers:
# Start both API and web servers
npm run dev

# Or start them individually
npm run api:dev
npm run web:dev

The API will be available at http://localhost:4000/graphql and the web app at http://localhost:5173.

Available Scripts

  • npm run dev - Start all development servers
  • npm run api:dev - Start the API development server
  • npm run web:dev - Start the web development server
  • npm run build - Build all packages
  • npm run api:build - Build the API
  • npm run web:build - Build the web app
  • npm run prisma:generate - Generate Prisma client
  • npm run prisma:migrate - Run Prisma migrations
  • npm run prisma:studio - Open Prisma Studio

Technologies

Backend (API)

  • Apollo Server
  • GraphQL
  • Prisma ORM
  • MariaDB
  • JSON Web Tokens (JWT)

Frontend (Web)

  • SolidJS
  • URQL GraphQL Client
  • GraphQL Subscriptions
  • CSS

License

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