This is a Togetherly project built with Spring Boot (backend) and Angular (frontend). It allows users to register, log in, share posts, like and comment on posts, follow other users, receive notifications, and chat with their friends using web sockets.
-
User Authentication: Users can register and log in using JWT (JSON Web Tokens) for authentication.
-
Role-Based Access Control:
- Admin: Can manage users, change user roles, and perform administrative actions.
- Teacher: Can share posts, comment on posts, and manage their own profile.
- Student: Can comment on posts, manage their own profile, and follow other users.
-
User Profile Management: Users can update their profile information, including name, profile picture, and password.
-
Post Sharing: Teachers can share posts, and all users can like and unlike posts.
-
Comments: Users can add comments to posts and delete their own comments.
-
Following System: Users can follow/unfollow other users, and when mutual following occurs, they become friends and can chat.
-
Notifications: Users receive notifications for various activities, including likes, comments, and new chat messages.
-
Real-time Chat: Users can chat with their friends in real-time using web sockets.
-
Clone the repository:
git clone 'https://github.com/FattahAmil/Togetherly.git'
-
Open the
backend
directory:cd Back-end
-
Configure the application.properties file with your database settings, JWT secret, and other necessary configurations.
-
Run the Spring Boot application:
./mvnw spring-boot:run
-
Open the
frontend
directory:cd Front-end
-
Install dependencies:
npm install
-
Start the Angular application:
ng serve
-
Register an account or log in.
-
Explore Togetherly:
- Share posts, like posts, and comment on posts.
- Follow other users and chat with friends.
- Receive notifications for activity on your Togetherly account.
- Special thanks to Spring Boot and Angular communities for their amazing resources and documentation.
For any questions or inquiries, please contact fattah.ptech2020@gmail.com.