Welcome to Study.AI, an innovative platform designed to enhance learning and collaboration through AI-powered tools. This project provides a comprehensive environment for managing workspaces, documents, and interactive chat functionalities to facilitate educational and collaborative experiences.
Study.AI comes equipped with a variety of features aimed at improving user interaction and content management for educational purposes:
- Workspace Management: Create and manage multiple workspaces for different projects (good for subject of each term). Each workspace can be customized and accessed by authorized users.
- Document Handling: Upload, view, and manage documents within your workspaces. This feature supports RAG your document
- Interactive Chat: Engage in real-time conversations within workspaces. The chat system supports discussions, queries, and AI-driven assistance to enhance learning.
- User Authentication: Secure login and user management to ensure that your data and interactions are protected.
- Quiz: Add quizzes to your documents for interactive learning and assessment.
Study.AI is designed to be deployed using Docker, which simplifies the setup process across different environments. Follow these steps to deploy the project:
- Docker and Docker Compose installed on your system.
- Basic knowledge of command-line operations.
-
Clone the Repository: Start by cloning this repository to your local machine or server where Docker is installed.
git clonerepository-url>gt; cd study.ai -
Environment Configuration: Copy the
.env.examplefile to.envand adjust the environment variables according to your setup.cp .env.example .env
Edit the
.envfile to set up database credentials, API keys, and other configuration settings. -
Docker Compose: Use the provided
docker-compose.yamlfile to build and run the application.docker-compose up --build
This command will build the Docker images for the frontend, backend, database, and Nginx proxy, then start the containers.
-
Database Initialization: The PostgreSQL database will be initialized with the schema defined in
postgres/schema.sqlupon first run. Ensure your environment variables match the database setup. -
Access the Application: Once the containers are up and running, you can access the frontend application through your web browser at
http://localhostor the specified port in your Docker Compose configuration.
-
Setup Environment: Use the provided scripts
setupEnv.ps1for Windows orsetupEnv.shfor Unix-based systems to automate environment setup if needed../setupEnv.sh # For Unix-based systems ..\setupEnv.ps1 # For Windows
- Backend: A Node.js application using TypeScript, handling API requests for user management, workspaces, documents, chats, and quizzes.
- Frontend: A React application built with Vite and React Router for a dynamic user interface.
- Database: PostgreSQL database for persistent data storage.
- Nginx: Configured as a reverse proxy to handle requests and serve the frontend application.
Contributions to Study.AI are welcome! Please feel free to submit pull requests or open issues for bugs, feature requests, or other improvements.
This project is licensed under the MIT License - see the LICENSE file for details.