# README
AMA Room App
Welcome to the AMA (Ask Me Anything) Room App! This project leverages some of the most popular and modern technologies in the market to create a dynamic, real-time question-and-answer platform.
Table of Contents
Introduction
The AMA Room App is a web application designed to facilitate interactive Q&A sessions. Users can join rooms, ask questions, and receive answers in real time. This project showcases the integration of various front-end and back-end technologies to deliver a seamless user experience.
Features
- Real-time Q&A: Interact with questions and answers in real-time using WebSockets.
- User Authentication: Secure login and registration process.
- Room Management: Create and join multiple AMA rooms.
- Responsive Design: Optimized for all devices using Tailwind CSS.
- Type Safety: Built with TypeScript for robust and maintainable code.
Technologies Used
- Frontend:
- Vite: Next Generation Frontend Tooling
- Tailwind CSS: A utility-first CSS framework
- TypeScript: JavaScript with syntax for types
- Backend:
- Go Chi: Lightweight, idiomatic and composable router for building Go HTTP services
- WebSockets: For real-time communication
- SQL: For database management
- PostgreSQL: Advanced open-source relational database
Installation
Prerequisites
Make sure you have the following installed:
- Node.js (v14 or later)
- Go (v1.16 or later)
- PostgreSQL
Frontend
-
Clone the repository:
git clone https://github.com/your-username/ama-room-app.git cd ama-room-app/frontend
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
Backend
-
Navigate to the backend directory:
cd ../backend
-
Install Go dependencies:
go mod tidy
-
Set up the PostgreSQL database and update the database configuration in the
.env
file. -
Run the backend server:
go run main.go
Usage
Once the frontend and backend servers are running, you can access the AMA Room App by navigating to http://localhost:3000
in your web browser.
Contributing
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes.
- Commit your changes (
git commit -m 'Add new feature'
). - Push to the branch (
git push origin feature-branch
). - Open a Pull Request.
License
This project is licensed under the MIT License. See the LICENSE file for more information.