Welcome to the Seatudy Backend repository! This project is the backend part of the Seatudy application, and it is responsible for handling the platform's core logic, data management, and API services.
Seatudy is an educational platform that allows users to manage their courses, track their progress, and provide feedback through reviews. This backend project offers a robust API to support these functionalities, handling all interactions with the database and ensuring secure and efficient data flow.
- Benardo - Institut Teknologi Bandung
- I Putu Natha Kusuma - Universitas Brawijaya
- Elgin Brian Wahyu Brahmandhika - Universitas Brawijaya
- Dindin Imanudin - Institut Teknologi Nasional Bandung
- Golang: The programming language used for the core backend logic.
- Gin: A high-performance HTTP web framework for building the RESTful API.
- GORM: An ORM library for Golang, used to interact with the PostgreSQL database.
- PostgreSQL: The primary database for storing all application data.
- Redis: Used for OTP management.
- AWS S3: For storing and serving static assets like course materials and profile pictures.
- Docker: Containerization for easy deployment and management.
- JWT: For handling user authentication and authorization.
- Github Actions: For test and deploy automation.
- User Authentication: Secure authentication using JWT.
- Course Management: Create, update, and manage courses, assignments, and materials.
- Progress Tracking: Track user progress and store completed assignments.
- Review System: Submit and manage course reviews.
- Community Forum: Discuss courses in a community forum.
- Role-Based Access Control: Different access levels for students and instructors.
- File Uploads: Securely manage file uploads to AWS S3.
Before you begin, ensure you have the these installed on your machine:
- Docker
- 
Clone the Repository: git clone https://github.com/highfive-compfest/seatudy-backend.git 
- 
Navigate to the Project Directory: cd seatudy-backend
- 
Set Up Environment Variables: 
 Create a.envfile in the root directory and provide the necessary environment variables. See.env.examplefile for reference.
- 
Start the Server: docker compose up 


