This is a real-time chat application built using a frontend stack of your choice and Strapi for the backend. The application facilitates instant messaging between the user and the server via WebSocket communication. It supports user authentication, responsive design, and local database storage.
- Backend Setup: Powered by Strapi, an open-source headless CMS.
- User Authentication: Sign up, log in, and log out functionalities using Google or GitHub OAuth using strapi.
- WebSocket Communication: Real-time message exchange between the user and the server.
- Local Database Storage: Uses SQLite via Strapi for storing user and chat data.
- Responsive Design: Fully optimized for desktop, tablet devices.
- Optional Enhancements: Add advanced features for better user experience.
- Frontend: Reactjs.
- Backend: Strapi (SQLite as the database).
- WebSocket: For real-time communication.
- Authentication: Google/GitHub OAuth via Strapi.
- Node.js (v16 or later)
- npm or yarn
- Strapi CLI
- A Google/GitHub developer account for OAuth setup
-
Clone the Repository:
git clone https://github.com/RyomenDev/EchoChat.git cd EchoChat
-
Set Up Backend:
- Install Strapi CLI:
npm install -g create-strapi-app
- Create a Strapi app with SQLite as the database:
npx create-strapi-app backend --quickstart
- Configure Google/GitHub OAuth providers in Strapi admin panel.
- Install Strapi CLI:
-
Set Up Frontend:
- Navigate to the frontend directory:
cd frontend
- Install dependencies:
npm install
- Navigate to the frontend directory:
-
Configure WebSocket API:
- Update the WebSocket URL in your frontend code to connect with the backend.
-
Run the Application:
- Start the backend server:
cd server npm run dev
- Start the frontend development server:
cd client npm start
- Start the backend server:
- Open the application in your browser.
- Log in using Google or GitHub.
- Send and receive messages in real-time.
project/
├── backend/ # Strapi backend
└── frontend/ # Frontend application
- Deploy the backend using services like Heroku or AWS.
- Deploy the frontend using Vercel or Netlify.
This project is licensed under the MIT License.