https://github.com/brayanalmengor04/postify-backend
publishing system. System that allows the functionality of social network publications.
https://github.com/brayanalmengor04/postify-backend
docker docker-compose dockerfile java spring-boot
Last synced: 3 months ago
JSON representation
publishing system. System that allows the functionality of social network publications.
- Host: GitHub
- URL: https://github.com/brayanalmengor04/postify-backend
- Owner: brayanalmengor04
- Created: 2025-01-01T18:20:57.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-27T22:08:41.000Z (over 1 year ago)
- Last Synced: 2025-02-28T07:08:27.658Z (over 1 year ago)
- Topics: docker, docker-compose, dockerfile, java, spring-boot
- Language: Java
- Homepage:
- Size: 43.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π Postify - Share & Connect
Welcome to **Postify - Share & Connect**, an interactive web application where users can create posts, comment, and participate in raffles. Engage with others, customize your profile, and enjoy a seamless social experience. π¬π
---
## π Features
- βοΈ **Create & Share**: Post your thoughts and engage with others.
- π¬ **Comments & Replies**: Interact with posts through comments and replies.
- ποΈ **Raffles & Rewards**: Participate in exciting raffles.
- π¨ **Customizable Profiles**: Personalize your experience.
---
## π Project Structure
```
βββ πsrc
βββ πmain
βββ πjava
βββ πcom
βββ πbrayanalmengor04
βββ πpostifyv1 // π Main backend package
βββ πconfig // π Security and system configurations
βββ SecurityConfig.java
βββ πcontroller // π Handles HTTP requests
βββ AuthController.java // Authentication
βββ CommentController.java // Comments management
βββ ReplyController.java // Replies management
βββ RoleController.java // Roles and permissions
βββ UserController.java // User operations
βββ πdto // π Data transfer objects (DTOs)
βββ CommentDTO.java
βββ ReplyDTO.java
βββ UserDTO.java
βββ πentity // π Database entities
βββ Comment.java
βββ Reply.java
βββ Role.java
βββ User.java
βββ πenums // π Enum definitions
βββ Permission.java
βββ Postifyv1Application.java // π Main Spring Boot application
βββ πrepository // ποΈ Database access interfaces
βββ CommentRepository.java
βββ ReplyRepository.java
βββ RoleRepository.java
βββ UserRepository.java
βββ πsecurity // π Security implementations
βββ πseeder // π± Initial database data
βββ DatabaseSeeder.java
βββ πservice // βοΈ Business logic
βββ CommentService.java
βββ ICommentService.java
βββ ImageService.java
βββ IReplyService.java
βββ IRoleService.java
βββ IUserService.java
βββ ReplyService.java
βββ RoleService.java
βββ UserService.java
βββ πutil // π§ Utility functions
βββ πresources // π Configuration and static resources
βββ application.properties // System settings
βββ logback-spring.xml // Logging configuration
βββ πstatic // Static assets (images, CSS, JS)
βββ πtemplates // View templates
βββ πtest // β
Unit and integration tests
βββ πjava
βββ πcom
βββ πbrayanalmengor04
βββ πpostifyv1
βββ Postifyv1ApplicationTests.java
```
---
## βοΈ Tech Stack
| **Category** | **Technologies** |
|----------------|-----------------------------|
| **Frontend** | React, TailwindCSS |
| **Backend** | Spring Boot, REST API |
| **Database** | MySQL 8.0.3 |
---
## π Getting Started
### 1οΈβ£ Clone the repositories
```bash
git clone https://github.com/brayanalmengor04/postify-backend.git
cd postify
```
For the frontend, clone the repository:
```bash
git clone https://github.com/brayanalmengor04/postify-frontend.git
```
### 2οΈβ£ Backend Setup
```bash
cd backend
mvn spring-boot:run
```
### 3οΈβ£ Frontend Setup
```bash
cd frontend
npm install
npm run dev
```
---
## πΌοΈ Screenshots
### π Login Page

_Users can log in using their credentials to access the platform._
### π Dashboard

_Overview of user activities, including posts, comments, and interactions._
### π¬ Comments Section

_Users can comment on posts and engage in discussions._
### π New User Registration

_New users can sign up and create an account to start posting._
---
## π API Endpoints
### π Authentication
| Method | Endpoint | Description |
|--------|------------------------|---------------|
| POST | /auth/signin | User login |
| POST | /auth/signup | User signup |
### π¬ Comments
| Method | Endpoint | Description |
|--------|----------------------|----------------------|
| GET | /comment | Fetch all comments |
| POST | /comment-add | Create a comment |
| PUT | /comment/{id} | Update a comment |
| DELETE | /comment/{id} | Delete a comment |
### π¬ Replies
| Method | Endpoint | Description |
|--------|----------------------|-----------------------|
| GET | /reply/all | Fetch all replies |
| POST | /reply/user | Create a reply |
| GET | /reply/user/{userId} | Fetch reply by userID |
### π‘οΈ Roles
| Method | Endpoint | Description |
|--------|----------------------|-------------------|
| GET | /role | Get all roles |
| POST | /role-add | Add a new role |
| GET | /role/{id} | Get role by ID |
| PUT | /role/{id} | Update a role |
| DELETE | /role/{id} | Delete a role |
---
## π‘ Contributing
We welcome contributions to make **Postify** more efficient, clean, and maintainable! π
### π οΈ How You Can Help
We aim for a **clean code** approach, prioritizing readability, simplicity, and performance. Contributions can include:
- **Refactoring code** to enhance clarity and maintainability.
- **Optimizing database queries** for better performance.
- **Improving API efficiency** to reduce response times.
- **Enhancing security** by following best practices.
- **Writing comprehensive tests** to ensure stability.
### π Contribution Guidelines
1. **Fork** the repository π΄
2. **Create a feature branch** (`git checkout -b improve-backend`) π±
3. **Follow best practices** (SOLID principles, DRY, KISS) π
4. **Document your changes** clearly in the code π‘
5. **Commit changes** (`git commit -m 'Optimized backend query handling'`) πΎ
6. **Push to branch** (`git push origin improve-backend`) π
7. **Submit a Pull Request** with a clear explanation π©
We encourage meaningful discussions and improvements. Letβs build a scalable and efficient platform together! π₯
---
## π License
This project is licensed under the **MIT License**. See the [LICENSE](LICENSE) file for details.
---
**π Join us and start sharing today! Letβs build something amazing together! π₯**