-
Notifications
You must be signed in to change notification settings - Fork 1
Clone GatheringTech
Yshareef edited this page May 16, 2025
·
1 revision
This guide will help you clone and set up the GatheringTech Learning Platform on your local machine.
Before you begin, ensure you have the following installed:
# Clone the repository
git clone https://github.com/Yaser-Alshareef/GatheringTech-Learning-Platform.git
# Navigate to the project directory
cd GatheringTech-Learning-Platform# Install all required dependencies
npm install- Create a
.envfile in the root directory with the following variables:
MONGODB_URI=mongodb://localhost:27017/gatheringtech
SESSION_SECRET=your_session_secret
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
GOOGLE_CALLBACK_URL=http://localhost:3000/auth/google/callbackNote: You'll need to:
- Set up a MongoDB database (local or Atlas)
- Create a Google OAuth 2.0 Client ID from the Google Cloud Console
- Replace the placeholder values with your actual credentials
- Ensure MongoDB is running on your system
- The application will automatically create necessary collections when it starts
# Run the seed script to populate the database with sample courses
node seedCourses.js# Start the development server
npm startThe application will be available at http://localhost:3000
GatheringTech/
├── server/ # Server-side code
│ ├── config/ # Configuration files
│ ├── middleware/ # Custom middleware
│ ├── models/ # Database models
│ └── routes/ # Route handlers
├── utils/ # General utilities
├── public/ # Static assets
│ ├── css/ # Stylesheets
│ └── images/ # Image assets
├── views/ # EJS templates
│ ├── courses/ # Course-related views
│ ├── dashboard/ # Dashboard views
│ ├── layouts/ # Layout templates
│ └── partials/ # Reusable view components
├── app.js # Main application file
└── package.json # Project dependencies
-
MongoDB Connection Issues
- Ensure MongoDB is running
- Check your connection string in
.env - Verify network connectivity
-
Google OAuth Issues
- Verify your Google OAuth credentials
- Ensure callback URLs are correctly configured
- Check if the application is running on the correct port
-
Node.js Issues
- Clear node_modules and reinstall:
rm -rf node_modules npm install
- Clear node_modules and reinstall:
- Fork the repository
- Create a new branch for your feature
- Make your changes
- Submit a pull request
This project is licensed under the ISC License - see the LICENSE file for details.