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. π¬π
- βοΈ 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.
βββ π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
Category | Technologies |
---|---|
Frontend | React, TailwindCSS |
Backend | Spring Boot, REST API |
Database | MySQL 8.0.3 |
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
cd backend
mvn spring-boot:run
cd frontend
npm install
npm run dev
Users can log in using their credentials to access the platform.
Overview of user activities, including posts, comments, and interactions.
Users can comment on posts and engage in discussions.
New users can sign up and create an account to start posting.
Method | Endpoint | Description |
---|---|---|
POST | /auth/signin | User login |
POST | /auth/signup | User signup |
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 |
Method | Endpoint | Description |
---|---|---|
GET | /reply/all | Fetch all replies |
POST | /reply/user | Create a reply |
GET | /reply/user/{userId} | Fetch reply by userID |
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 |
We welcome contributions to make Postify more efficient, clean, and maintainable! π
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.
- Fork the repository π΄
- Create a feature branch (
git checkout -b improve-backend
) π± - Follow best practices (SOLID principles, DRY, KISS) π
- Document your changes clearly in the code π‘
- Commit changes (
git commit -m 'Optimized backend query handling'
) πΎ - Push to branch (
git push origin improve-backend
) π - Submit a Pull Request with a clear explanation π©
We encourage meaningful discussions and improvements. Letβs build a scalable and efficient platform together! π₯
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! π₯