DevPost: https://devpost.com/software/studyflow-4r2bgc
StudyFlow is an intelligent study assistant platform designed to enhance learning by leveraging AI-powered tools. It allows users to organize, manage, and interact with study content efficiently, using a combination of a React frontend, API server, Redis queue/cache, and worker server integration with AI APIs.
The system is designed with a modular and scalable architecture:
Components:
-
React Frontend
- Provides an intuitive user interface for students to interact with StudyFlow.
- Communicates with the API server to fetch and submit data.
-
API Server
- Handles requests from the frontend.
- Manages business logic and user data.
- Connects to MongoDB for persistent storage.
- Interacts with Redis for caching frequently accessed data and queueing tasks for asynchronous processing.
-
Redis
- Serves as a cache to speed up frequent data retrieval.
- Acts as a message queue to manage tasks processed by the Worker Server.
-
Worker Server
- Processes queued tasks asynchronously.
- Interacts with external AI APIs to provide intelligent responses or generate study content.
-
MongoDB
- Stores all persistent application data, including user information, study materials, and analytics.
- AI-powered study assistance (via external AI APIs)
- Real-time task processing with Redis queues
- Scalable and modular architecture
- Persistent data storage using MongoDB
- Responsive UI built with React
- Node.js >= 18.x
- MongoDB
- Redis
- API keys for AI services
- bash
- git clone https://github.com/your-username/StudyFlow.git
- cd StudyFlow
Frontend:
- cd frontend -npm install
API Server:
- cd ../api-server
- npm install
Worker Server:
- cd ../worker-server
- npm install
API Server: .env
- AUTH0_DOMAIN=
- AUTH0_AUDIENCE=
- MONGO_URI=
- REDIS_URL=
Worker Server: .env
- MONGO_URI=
- REDIS_URL=
- OPENAI_API_KEY=
Frontend: .env
- VITE_AUTH0_DOMAIN=
- VITE_AUTH0_CLIENT_ID=
- VITE_AUTH0_AUDIENCE=
Contributions are welcome! Please fork the repository and submit a pull request.
This project is licensed under the MIT License.