This is a highly scalable and available messaging application where users can exchange messages with each other.
- Application Tier: Spring Boot
- Database: Apache Cassandra
- Data Layer: Spring Data Cassandra
- Security: Spring Security
- View Layer: Thymeleaf
- User authentication and authorization using GitHub OAuth
- Messaging functionality including:
- Viewing emails
- Replying to emails
- Reply all functionality
- Email tracking (read/unread status)
- Java 8 or higher
- Apache Cassandra
- Maven
-
Clone the repository
git clone https://github.com/iamber12/inbox-spring-boot-app cd inbox-spring-boot-app
-
Set up Apache Cassandra
- Follow the instructions here to install Apache Cassandra.
- Create the necessary keyspace and tables using the
schema.cql
file in the repository.
-
Configure the application
- Update
application.properties
with your Cassandra configuration and other necessary details.
- Update
-
Build and run the application
mvn clean install mvn spring-boot:run
-
Access the application
- Open your browser and navigate to
http://localhost:8080
.
- Open your browser and navigate to
- Implement custom folder creation.
- Utilize the color property for folders.
- Enable moving emails between folders.
- Add multi-select and bulk actions (delete).
For further details and code, please refer to this Code with Me series.