Record your life on the fly!
- Backend: Powered by FastAPI and MySQL.
- Frontend: Built using React.
- DevOps: GitHub Actions, Alibaba Cloud Apsara DevOps, and Docker for containerization.
- Moment Capture: Record and summarize significant moments in your life.
- Content Management: Organize and manage your photos and journal entries.
- Life Suggestions: Use your journal to receive personalized life advice and mental health support.
- Daily Reflection: Reflect on your day with insightful prompts and monitor mental health status.
- Meta-Information Tracking: Automatically record timestamps and GPS locations for each entry.
- Activity Visualization: Visualize your activity status through interactive heatmaps.
- Social Media Sharing: Share your content with friends on social media platforms.
- Data Insights: Analyze trends and patterns in your entries to gain deeper insights into your activities and emotions.
- Customizable Reminders: Set reminders for journaling and capturing moments based on your preferences.
- Multi-Device Syncing: Sync your data across multiple devices for seamless access and management.
- Privacy Controls: Manage who can view and interact with your content through robust privacy settings.
- Export Options: Export your data in various formats (e.g., PDF, CSV) for backup or sharing purposes.
- Infra setup: building backend.
- Gallery and journal display.
- Generate journal entries with photos.
- User profile display with activity heatmap.
- Future updates will include integration with small portable devices. (WIP)
-
Clone the repository:
git clone https://github.com/your-username/SnapTale.git
-
Build and start the Docker containers:
cd SnapTale docker-compose up --build
This command will build and start both the frontend and backend services, as well as the MySQL database.
-
Access the application:
- Frontend: http://localhost:3000
- Backend: http://localhost:8000
If you prefer to run the project manually:
-
Backend Setup:
- Navigate to the backend directory and install dependencies:
cd backend pip install -r requirements.txt
- Configure your MySQL database and set environment variables.
- Navigate to the backend directory and install dependencies:
-
Frontend Setup:
- Navigate to the frontend directory and install dependencies:
cd frontend npm install -g pnpm pnpm install
- Navigate to the frontend directory and install dependencies:
-
Running the Project:
- Start the backend server:
cd backend uvicorn main:app --reload
- Start the frontend application:
cd frontend pnpm start
- Start the backend server:
For more information, please visit repo for each submodule.