GoQuiz is a side project developed to learn Flutter/Dart for the frontend and Java Spring for the backend. It is a full-stack application that demonstrates the implementation of JWT (JSON Web Tokens) for user authentication.
- User Registration: New users can sign up and create an account.
- User Login: Existing users can log in to access the application's features.
- JWT Authentication: Secure authentication using JSON Web Tokens.
- Quiz creation and retrieval: Users can create and retrieve quizzes.
- Quiz taking: Users can take quizzes and receive a score.
- Flutter / Dart: Frontend development framework for building reactive and attractive user interfaces.
- Java Spring: Backend development framework for creating scalable and maintainable Java applications.
- JWT (JSON Web Tokens): A secure method for authenticating users and transmitting information between parties.
- Docker: hosting the database, PostgreSQL.
Clone the repository from GitHub.
git clone https://github.com/gio-del/GoQuiz.git
-
Make sure you have Flutter installed. If not, follow the Flutter installation guide: Flutter Install Guide
-
Install Flutter dependencies.
flutter pub get
-
Make sure you have Java JDK and Maven installed. If not, follow the Java and Maven installation guides: Java Install Guide and Maven Install Guide
-
Import the Java Spring project into your preferred IDE (e.g., IntelliJ, Eclipse).
-
Resolve the Maven dependencies and start the backend server.
-
Modify accordingly the entry in
goquiz_ui/lib/constants api_endpoints.dart
to point to your backend server.
-
Create a postgreSQL database to store user information.
-
Update the backend application properties with your database credentials.
-
Start the backend server.
-
Launch the Flutter app on an emulator or a physical device.
WIP