Overview • Features • Installation • Usage • API Documentation • Contributing • License
This repository contains a full-stack event management system, developed as a practical implementation of the concepts learned from the tutorial "Fast API and Vue JS CRUD Application | Vuex | Vuetify | Nuxt | MySQL | Docker | REST API | Swagger". It features a Vue.js frontend with Vuex and Vuetify, and a FastAPI backend, all connected to a MySQL database.
The system enables the creation, editing, display, and deletion of events. It's designed with a user-friendly interface built with Vuetify and Nuxt, offering a seamless user experience. The backend API, crafted with FastAPI, provides robust and efficient handling of data with MySQL.
-
Frontend
- Built with Vue.js, Vuex, Vuetify, and Nuxt.
- Functionalities include:
- Creating events.
- Editing event details.
- Displaying a list of events.
- Deleting events.
-
Backend
- Developed using FastAPI.
- RESTful API endpoints for:
- Retrieving events.
- Creating new events.
- Editing existing events.
- Deleting events.
- MySQL database integration.
-
Frontend Setup
- Ensure you have Yarn installed.
- Navigate to the frontend directory and run
yarn install
to install dependencies.
-
Backend Setup
- Ensure you have Python and FastAPI installed.
- Navigate to the backend directory and run
pip install -r requirements.txt
to install required packages.
-
Database Setup
- Set up a MySQL database.
- Configure the database connection details in the backend settings.
-
Start the frontend server:
- In the frontend directory, run
yarn dev
. - The frontend will be available at
localhost:3000
.
- In the frontend directory, run
-
Start the backend server:
- In the backend directory, run
uvicorn main:app --reload
. - The API will be available at
localhost:8000
.
- In the backend directory, run
Access the Swagger UI for the API documentation and testing at localhost:8000/docs
.
Contributions to this project are welcome. Please ensure to follow the guidelines:
- Fork the repository.
- Create a new branch for each feature or improvement.
- Submit a pull request with a clear description of your changes.
This project is licensed under the MIT License - see the LICENSE file for details.