- Introduction
- Technologies Used
- Project Structure
- Features
- Installation Instructions
- Usage
- Deployment
- License
It's a web app that provide users with the ability to save their memories and share it with others.
- Runtime Environment: Node.js
- Data Tier AKA "Model": MongoDB, Mongoose
- Application Tier AKA "Control": Express.js
- Presentation Tier AKA "View": React.js
- Documentation & API-Documentation: JSDoc, and Swagger
- Containerization: Docker, Docker-Compose
containers/
: used to hold docker-compose configurations for different environments (e.g., Development, Test, and Production)env/
: used to hold the environment variables for the different environmentsscripts/
: used to hold bash scripts to automate different operationsserver/
: used to hold the server side business logic, models, test, etc.client/
: used to hold the client side code, assets, etc.
- No Features Implemented Yet
-
Add Memories
- Users can create a new memory by providing details such as a title, description, date, and image.
- The user-friendly interface ensures a seamless experience while uploading and organizing memories.
-
Edit Memories
- Update existing memories with new information or replace outdated images.
- Edit features allow users to keep their memories accurate and up-to-date.
-
Delete Memories
- Easily delete unwanted or outdated memories with just a click.
- Soft-delete functionality ensures users don’t lose data accidentally (optional).
-
Share Memories
- Generate sharable links to share memories with friends and family.
- Privacy settings allow users to control who can view or access their shared memories.
-
Memory Gallery
- Browse through an organized gallery of all memories.
- Sort and filter memories by date, title, or tags for easy access.
-
User Authentication
- Secure login and registration ensure that only authorized users can access their memories.
- Social login options for quick account setup.