Skip to content

junjiezhou1122/LearningCompass

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Learning Compass

Learning Compass is a web application designed to enhance the online learning experience. It provides tools for course management, AI-powered assistance, real-time chat, note-taking, and more, creating a comprehensive platform for learners and educators.

Project Structure

Learning Compass utilizes a client-server architecture:

  • Client: The frontend is a single-page application (SPA) built with React and Vite. It handles the user interface and interaction.
  • Server: The backend is developed with Node.js and Express. It manages business logic, API endpoints, and database interactions. It uses PostgreSQL as its database, with Drizzle ORM for database access.

Main Features

Learning Compass offers a variety of features to support users in their learning journey:

  • User Authentication: Secure user registration and login.
  • Course Browsing and Management: Explore and manage online courses.
  • AI-Powered Learning Assistance: Integrated AI tools to help with learning tasks.
  • Real-time Chat: Communicate with peers or instructors.
  • Note-taking: Create and organize personal notes for courses.
  • Bookmarking: Save and manage useful resources.
  • Recommendation System: Get personalized course and resource recommendations.
  • Commenting System: Engage in discussions and provide feedback.

Setup and Run

To get Learning Compass up and running on your local machine, follow these steps:

Prerequisites:

  • Node.js (which includes npm)
  • Access to a PostgreSQL database

1. Clone the repository:

git clone https://github.com/junjiezhou1122/LearningCompass.git
cd LearningCompass

2. Install dependencies:

This project has dependencies managed in the root package.json and potentially in the server directory.

For the root directory:

npm install

For the server (if it has its own package.json with server-specific build/start scripts not covered by the root package.json):

cd server
npm install # if applicable
cd ..

3. Configure Environment Variables:

The application likely requires environment variables for database connections, API keys (Firebase, AI services), etc. Create a .env file in the root directory and/or server directory based on any provided .env.example files or project documentation.

Key variables might include:

  • DATABASE_URL
  • FIREBASE_CONFIG
  • ANTHROPIC_API_KEY
  • OPENAI_API_KEY
  • SESSION_SECRET

4. Database Setup:

  • Ensure your PostgreSQL server is running.
  • Apply database migrations using Drizzle ORM. The command is typically:
    npx drizzle-kit push
    (Refer to package.json for the exact script if available, e.g., npm run db:push)

5. Running the Application:

The main package.json includes scripts to run the application:

  • Development Mode (Client + Server with hot reload):

    npm run dev

    This command likely starts both the Vite client and the Node.js server concurrently.

  • Build for Production:

    npm run build
  • Start in Production Mode (after building):

    npm run start

Check the scripts section in package.json for the most up-to-date commands. The client application will typically be accessible at http://localhost:5000

Contributing

Contributions to Learning Compass are welcome! If you have ideas for new features, bug fixes, or improvements, please feel free to:

  1. Fork the repository.
  2. Create a new branch for your feature or fix.
  3. Make your changes.
  4. Submit a pull request with a clear description of your changes.

We appreciate your help in making Learning Compass a better platform!

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •