Tiktak is a video sharing platform, inspired by the popular social media app TikTok. It allows users to upload, view, comment on, and like videos. This project is designed to showcase a full-stack application using Go with the Fiber framework, along with other modern technologies for a robust and scalable service.
Features
- User registration and authentication
- Video uploading and streaming
- Commenting on videos
- Liking videos
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
- Go (Version 1.21)
- Database setup (Google Cloud Firestore)
- Any other environment-specific setups (like external APIs if used)
Installing
A step-by-step series of examples that tell you how to get a development environment running.
# Clone the repository
git clone https://github.com/BryceWayne/Tiktak.git
# Navigate to the project directory
cd Tiktak
# Install dependencies (if any)
go mod tidy
# Run the application
go run main.go
API Overview
User Endpoints
POST /register
: Register a new user.
POST /login
: Authenticate a user.
Video Endpoints
POST /upload
: Upload a new video.
GET /videos
: Retrieve all videos.
POST /comment
: Post a comment on a video.
GET /comments/:videoId
: Retrieve all comments for a specific video.
Like Endpoints
POST /like
: Like a video.
GET /likes/:videoId
: Get likes for a specific video.
Note: Detailed API documentation with Swagger is currently in development.
Built With
- Go - The Go Programming Language
- Fiber - An Express-inspired web framework for Go
- Firestore - Database
- Docker - Containerization
- [Any other major libraries or frameworks used]
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Authors
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE.md file for details
Acknowledgments
- Hat tip to anyone whose code was used
- Inspiration
- etc.