Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cyboranf/meetex-socialmedia-restapi
I wanted to showcase my growth as a developer, so I decided to take on a familiar topic from my past but elevate it to a higher coding standard. https://github.com/cyboranf/meetex-desktop-app
https://github.com/cyboranf/meetex-socialmedia-restapi
hibernate java java-8 rest-api social-media social-network spring spring-boot spring-jpa spring-security
Last synced: 12 days ago
JSON representation
I wanted to showcase my growth as a developer, so I decided to take on a familiar topic from my past but elevate it to a higher coding standard. https://github.com/cyboranf/meetex-desktop-app
- Host: GitHub
- URL: https://github.com/cyboranf/meetex-socialmedia-restapi
- Owner: cyboranf
- Created: 2023-03-01T17:15:33.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2023-10-02T18:34:47.000Z (over 1 year ago)
- Last Synced: 2024-11-27T12:19:39.847Z (2 months ago)
- Topics: hibernate, java, java-8, rest-api, social-media, social-network, spring, spring-boot, spring-jpa, spring-security
- Language: Java
- Homepage:
- Size: 4.65 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Social Media Meetex REST API
I wanted to showcase my growth as a developer, so I decided to take on a familiar topic from my past but elevate it to a higher coding standard. For reference, see my previous work on this topic at [Meetex Desktop App](https://github.com/cyboranf/meetex-desktop-app).
In this advanced version of 'Meetex', I've integrated numerous features and concepts I've gleaned from my books and tutorials. 'Meetex' stands as a testament to my continuous learning and the versatility of modern backend technologies.## Features
- **User Authentication**: Uses Spring Security integrated with JWT.
- **Profile Management**: Users can create, update, and personalize their profiles with a profile picture, bio, and more.
- **Chat System**: Directly chat with other users
- **Posts**: Users can create, edit, and delete posts. They can also attach images, videos, and links to their posts.
- **Comments**: Engage in posts by commenting. Edit and delete comments seamlessly.
- **Reactions**: React to posts and comments with a variety of emojis to express feelings.
- **Notifications**: Real-time notifications for likes, comments, new followers, and chat messages.## Default Credentials
| Role | Username| Password |
|--------------|----------|----------|
| USER | User | User |
| MOD | Mod | Mod |
| ADMIN | Admin | Admin |## Inspiration
The main spark for this project came from an earlier application I developed. When I looked back at my previous **'Meetex'** desktop app, I felt a push to revisit the concept and take it to the next level. At the same time, I observed the features and designs of some popular social media apps out there. This made me realize that creating a social media platform is a great way to display a wide range of skills.## ERD
![ERD](/images/erd.png)
## Swagger Documentation
![Swagger Documentation](/images/swaggerDocumentation.png)
To access the Swagger UI for this application, run the application and navigate to `http://localhost:8080/swagger-ui.html` in your web browser.
## Getting Started
To get started with this project, follow these steps:
1. Clone the repository to your local machine.
2. Make sure you have JDK and Maven installed on your system.
3. Navigate to the project root directory and run `mvn clean install` to build the project.
4. Run the application using `mvn spring-boot:run` or by executing the main class `com.example.meetexApi.MeetexApiApplication` in your IDE.
5. Access the application on `http://localhost:8080/`.## Contributing
Contributions are welcome! If you'd like to contribute to this project, please follow these steps:
1. Fork the repository.
2. Create a branch with a descriptive name that represents the changes you want to make.
3. Commit your changes to the branch and push them to your fork.
4. Open a pull request to merge your changes into the main repository.