toMeMail is a simple web application designed to send messages to yourself or your loved ones in the future. These messages are locked until their due date, fostering introspection and long-term reflection.
While time travel between different versions of yourself isn’t possible, toMeMail offers the next best thing: sending a message into the future and waiting for time to pass. For example, your 30-year-old self can write a message to your 60-year-old self, creating a bridge for introspection and self-discovery.
- Message Delivery to the Future: Send messages to your future self with a due date. These messages remain locked until the specified date arrives.
- Introspection and Growth: Encourage personal growth by reflecting on messages written years ago.
The backend is developed using Java Spring Boot and provides the following functionality:
-
CRUD Operations for Messages:
- Basic API to create, read, update, and delete messages.
- Includes corresponding controller, service, and entity layers.
-
Authentication and User Management:
- User login and registration.
- Security implemented with JWT (JSON Web Tokens):
- Custom JWT filter.
UserDetailsimplementation.- Security filter chain and password encoder.
- Spring Security integration.
-
Database Management:
- Managed with JPA Repository.
-
Testing:
- Comprehensive integration tests for backend functionality.
-
Documentation:
- OpenAPI documentation for the API.
-
Exception Handling:
- Custom exception handling for better error management.
-
CI/CD:
- Automated builds and tests using GitHub Actions.
- Secure secrets management integrated into workflows.
-
Validation:
- Using springboot starter validation.
- Backend: Java Spring Boot
- Security: Spring Security, JWT
- CI/CD: GitHub Actions
- Add the ability to send messages to loved ones.
- Frontend development for a user-friendly interface (Angular or React).
- Deploy the application to a cloud platform.
Contributions are welcome! Please feel free to submit a Pull Request or open an Issue for suggestions.
This project is licensed under the MIT License.
Crafted with ❤️ to promote introspection and personal growth.