ThinkAI is an AI learning and challenge platform designed to help students and teams collaborate on AI projects and challenges.
- User authentication and role-based access control (admin, mentor, team)
- Challenge creation and management
- Team collaboration tools
- Project submission and validation
The project is divided into two main parts:
- Backend: Node.js API with Express and MongoDB
- Frontend: React application with modern UI components
- Node.js (v14 or higher)
- MongoDB
- npm or yarn
-
Navigate to the backend directory:
cd backend
-
Install dependencies:
npm install
-
Create a
.env
file based on.env.example
:cp .env.example .env
-
Update the
.env
file with your configuration values -
Start the development server:
npm run dev
-
Navigate to the frontend directory:
cd frontend
-
Install dependencies:
npm install
-
Start the development server:
npm start
The repository contains several utility scripts in the backend/src/scripts
directory:
createAdmin.js
: Creates an admin usercreateMentor.js
: Creates mentor accounts from a CSV filecreateTeams.js
: Creates team accounts from a CSV file
For security reasons, sensitive data files are not included in the repository. Template files are provided that show the required format.
All sensitive configuration is managed through environment variables. See .env.example
for required variables.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
When using ThinkAI Platform for hackathons, events, or other public uses, attribution must be provided:
Powered by ThinkAI Platform - https://github.com/1337-Artificial-Intelligence/thinkai_main
This attribution must be visible in the user interface, documentation, and any promotional materials for the event or hackathon.