/$$ /$$ /$$$$$$ /$$ /$$
| $$ | $$ /$$__ $$ |__/ | $$
| $$ /$$$$$$ /$$$$$$ /$$$$$$$ | $$ \ $$ /$$ /$$ /$$ /$$$$$$$$| $$
| $$ /$$__ $$|_ $$_/ /$$_____/ | $$ | $$| $$ | $$| $$|____ /$$/| $$
| $$ | $$$$$$$$ | $$ | $$$$$$ | $$ | $$| $$ | $$| $$ /$$$$/ |__/
| $$ | $$_____/ | $$ /$$\____ $$ | $$/$$ $$| $$ | $$| $$ /$$__/
| $$$$$$$$| $$$$$$$ | $$$$//$$$$$$$/ | $$$$$$/| $$$$$$/| $$ /$$$$$$$$ /$$
|________/ \_______/ \___/ |_______/ \____ $$$ \______/ |__/|________/|__/
\__/

Description
LetsQuiz is a quiz platform built as a Text User Interface (TUI) application in Go, utilizing the Bubble Tea framework, which is inspired by the Elm Architecture. It combines Go's efficiency and scalability to deliver a robust and responsive user experience.
Table of Contents
Getting Started
To make it easy for you to get started with Gihub, here's a list of recommended next steps.
Add Your Files
To add your files, follow these steps:
-
Clone the repository:
git clone https://github.com/niel-biswas/letsquiz.git
-
Change into the repository directory:
cd letsquiz
-
Add your files and commit the changes:
git add .
git commit -m "Added my quiz files"
-
Push your changes to GitHub:
git push origin main
Installation
To install the project, follow these steps:
git clone https://github.com/niel-biswas/letsquiz.git
cd letsquiz
go mod tidy
go build
Database ERD

Application Flow

Usage
To run the LetsQuiz application, make sure you start the backend server before launching the application.
Step 1: Start the Backend Server
The backend server handles all API requests, database interactions, and user management. To start the backend:
-
Navigate to the server directory:
cd server
-
Build and run the backend server:
go run main.go
This will start the backend server, which listens for incoming requests from the quiz application.
Step 2: Start the Application
Once the backend server is up and running, return to the project root directory and start the main quiz application:
-
Navigate back to the root directory:
cd ..
-
Run the application:
go run main.go
Now your quiz application will communicate with the backend server to handle user sessions, quizzes, and leaderboards.
Contributing
Please refer to the contribution guidelines for more details.
License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Authors and Acknowledgment
Project Status
This project is currently in active development. Contributions are welcome!