SwingDB is an open-source golf swing analysis platform designed to allow users to upload, analyze, and group their golf swing videos. By leveraging the power of MongoDB Atlas, SwingDB efficiently manages video data, providing insights to improve your golfing performance. SwingDB is a part of the RealGolf.Games ecosystem, enabling a seamless user experience across related applications.
- Video Uploads: Upload golf swing videos (up to 10MB) for analysis.
- User Management: Shared user accounts with RealGolf.Games for a unified experience.
- Video Analysis: Analyze uploaded videos to identify areas for improvement.
- Data Management: Efficiently store and manage videos using MongoDB Atlas with base64 encoding and sharding.
- Frontend: SvelteKit (for building a responsive user interface)
- Backend: SvelteKit (serving as a full-stack framework)
- Database: MongoDB Atlas (for data storage and retrieval)
- Language: TypeScript (for type safety and enhanced development)
- Node.js (version 14 or later)
- MongoDB Atlas account
- An IDE or text editor of your choice
-
Clone the repository:
git clone https://github.com/realgolgames/swingdb.git cd swingdb
-
Install the dependencies:
npm install
-
Configure your MongoDB Atlas connection in the .env file:
SECRET_MONGODB_CONNECTION_STRING=your_mongodb_uri
-
Start the development server:
npm run dev
- Navigate to the upload page to submit your golf swing videos.
- View the analysis results to gain insights into your swing performance.
Contributions are welcome! If you would like to contribute to SwingDB, please follow these steps:
-
Fork the repository.
-
Create a new branch (
git checkout -b feature/yourfeature
). -
Make your changes and commit them.
git commit -am 'Add new feature'
-
Push the changes to your branch (
git push origin feature/yourfeature
). -
Create a new pull request.
SwingDB is licensed under the GNU Affero General Public License (AGPL) v3.0. See the LICENSE file for more information.
For questions or support, please contact the SwingDB team at [email protected].
Inspired by the need for an efficient way to analyze golf swings. Thank you to the contributors of the Svelte and MongoDB communities.