Skip to content

Duycan17/Vocatel-Backend

Repository files navigation

English Learning App RESTful API

This Java Spring Boot application provides a RESTful API for an English learning app. It facilitates various functionalities related to learning English, including user management, vocabulary exercises, quizzes, and more. This README provides an overview of the API endpoints, their functionalities, and how to use them.

Getting Started

To get started with using this API, follow these steps:

  1. Clone the Repository: Clone this repository to your local machine.

  2. Build the Application: Use Maven or Gradle to build the application.

  3. Configure the Application: Configure the application properties such as database connection details, if necessary.

  4. Run the Application: Start the Spring Boot application.

  5. Explore the API: Once the application is running, you can explore the API endpoints described below.

API Endpoints

User Management

  • GET /api/users: Retrieve all users.
  • GET /api/users/{id}: Retrieve a specific user by ID.
  • POST /api/users: Create a new user.
  • PUT /api/users/{id}: Update an existing user.
  • DELETE /api/users/{id}: Delete a user by ID.

Vocabulary Exercises

  • GET /api/vocabulary: Retrieve all vocabulary exercises.
  • GET /api/vocabulary/{id}: Retrieve a specific vocabulary exercise by ID.
  • POST /api/vocabulary: Create a new vocabulary exercise.
  • PUT /api/vocabulary/{id}: Update an existing vocabulary exercise.
  • DELETE /api/vocabulary/{id}: Delete a vocabulary exercise by ID.

Quizzes

  • GET /api/quizzes: Retrieve all quizzes.
  • GET /api/quizzes/{id}: Retrieve a specific quiz by ID.
  • POST /api/quizzes: Create a new quiz.
  • PUT /api/quizzes/{id}: Update an existing quiz.
  • DELETE /api/quizzes/{id}: Delete a quiz by ID.

Learning Progress

  • GET /api/progress: Retrieve learning progress for all users.
  • GET /api/progress/{userId}: Retrieve learning progress for a specific user.
  • POST /api/progress: Create a new learning progress entry.
  • PUT /api/progress/{id}: Update an existing learning progress entry.
  • DELETE /api/progress/{id}: Delete a learning progress entry by ID.

Authentication and Authorization

This API uses JSON Web Tokens (JWT) for authentication and authorization. To access protected endpoints, include the JWT token in the authorization header of the request.

Error Handling

This API follows RESTful principles for error handling. It returns appropriate HTTP status codes and error messages in JSON format for any encountered errors.

Contributing

Contributions to this project are welcome. If you find any issues or have suggestions for improvements, feel free to open an issue or submit a pull request.

License

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

About

Spring boot restful API application - backend for Vocatel (English learning app)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages