https://github.com/quwazy/movwe-backend
Share movies you like with your friends! Make your list, and see your friends lists
https://github.com/quwazy/movwe-backend
docker docker-compose flyway-migrations mongodb postgresql redis spring spring-boot spring-security swagger
Last synced: 2 months ago
JSON representation
Share movies you like with your friends! Make your list, and see your friends lists
- Host: GitHub
- URL: https://github.com/quwazy/movwe-backend
- Owner: quwazy
- Created: 2025-05-27T16:36:02.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-08-21T14:44:49.000Z (10 months ago)
- Last Synced: 2025-08-21T17:16:31.086Z (10 months ago)
- Topics: docker, docker-compose, flyway-migrations, mongodb, postgresql, redis, spring, spring-boot, spring-security, swagger
- Language: Java
- Homepage:
- Size: 122 KB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π¬ Movwe β Spring Boot Backend
**Movwe** is a personal movie tracking application where users can manually log the movies, series, and documentaries theyβve watched. Movwe focuses on user-generated content β allowing people to write and manage their own watch history.
This repository contains the **backend** developed with **Spring Boot**.
---
## π Features
- π User registration and login using JWT authentication
- π Create and manage personal entries:
- Movies
- TV Shows
- Documentaries
- β Add personal notes and ratings
- π Filter and categorize entries by type and date
---
## βοΈ Tech Stack
- Java 21
- Spring Boot 3.x
- Spring Security + JWT
- Spring Data JPA (Hibernate)
- PostgreSQL
- MongoDB
- Docker
- RESTful API design
---
## π¦ Getting Started
### β
Prerequisites
- Java 17+
- Maven
- PostgreSQL & MongoDB running locally or via Docker
### π§ Configuration
Set up your `application.properties`:
```properties
# ===============================
spring.application.name=movwe-backend
server.port=9999
# ===============================
# = JPA / Hibernate Config =
# ===============================
#spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.ddl-auto=update
#spring.jpa.hibernate.ddl-auto=validate
spring.jpa.show-sql=true
#spring.jpa.properties.hibernate.format_sql=true
# ===============================
# = PostgreSQL Config =
# ===============================
spring.datasource.url=jdbc:postgresql://localhost:5432/movwe
spring.datasource.username={your_username}
spring.datasource.password={your_password}
spring.datasource.driver-class-name=org.postgresql.Driver
# ===============================
# = MongoDB Configuration =
# ===============================
spring.data.mongodb.uri=mongodb://localhost:27017/movwe
spring.data.mongodb.username={your_username}
spring.data.mongodb.password={your_password}
```
## π§± Project Structure
```graphql
movwe-backend/
βββ config/ # JWT & security configuration
βββ controller/ # REST API controllers
βββ dto/ # Data transfer objects
βββ model/ # JPA entities (User, Entry)
βββ repository/ # Spring Data JPA repositories
βββ security/ # JWT filters and utilities
βββ service/ # Business logic
βββ MovweBackendApplication.java
βββ resources/
βββ application.properties
```
---
## π License
This project is licensed under the MIT License.