Skip to content

πŸš€ The backend of Postify is built with Spring Boot, providing a robust and scalable foundation for the platform. It handles user authentication, post management, comments, and interactions efficiently, ensuring a seamless experience for users.

Notifications You must be signed in to change notification settings

brayanalmengor04/postify-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ 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

git clone https://github.com/brayanalmengor04/postify-backend.git
cd postify

For the frontend, clone the repository:

git clone https://github.com/brayanalmengor04/postify-frontend.git

2️⃣ Backend Setup

cd backend
mvn spring-boot:run

3️⃣ Frontend Setup

cd frontend
npm install
npm run dev

πŸ–ΌοΈ Screenshots

πŸ” Login Page

Login Page
Users can log in using their credentials to access the platform.

πŸ“Š Dashboard

Dashboard Overview of user activities, including posts, comments, and interactions.

πŸ’¬ Comments Section

Comments Users can comment on posts and engage in discussions.

πŸ†• New User Registration

New User 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 file for details.


πŸš€ Join us and start sharing today! Let’s build something amazing together! πŸ”₯

About

πŸš€ The backend of Postify is built with Spring Boot, providing a robust and scalable foundation for the platform. It handles user authentication, post management, comments, and interactions efficiently, ensuring a seamless experience for users.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published