Techno.ai — an AI-powered platform built with the MERN stack that provides BSIT students with personalized step-by-step guidance, coding help, and clear explanations.
Techno.ai is designed to make IT education easier and smarter.
It helps students understand code, generate examples, and learn efficiently using an AI tutor built with Gemini API and Google OAuth integration.
- Frontend: React (Vite)
- Backend: Node.js + Express.js
- Database: MongoDB Atlas
- AI Integration: Gemini API
- Authentication: Google OAuth
- Full Stack Framework: MERN
Here’s the full project structure for TechnoAI-ReactJS:
/TechnoAI-ReactJS
│
├── /backend
│ ├── /models
│ │ └── Message.js
│ │
│ ├── /routes
│ │ ├── ai.js
│ │ ├── auth.js
│ │ ├── health.js
│ │ └── messages.js
│ │
│ ├── server.js
│ └── package.json
│
│
├── /src
│ ├── index.html
│ ├── Login.jsx
│ ├── Register.jsx
│ └── (other necessary frontend files)
│
├── .env
├── vite.config.js
├── package.json
└── README.md
- 🤖 Personalized AI tutoring for BSIT students
- 🧾 Step-by-step coding help and explanations
- 🔐 Google OAuth login integration
- 💬 Gemini API for AI-generated content
- 🗃️ MongoDB Atlas for secure data storage
- 🌍 RESTful API communication between backend and frontend
Before running the project, ensure you have:
- Node.js (v18 or newer)
- npm (or Yarn)
- MongoDB Atlas account (or local MongoDB)
- Google Cloud Console project (for OAuth)
- Gemini API key (from Google AI Studio)
git clone https://github.com/<your-username>/TechnoAI-ReactJS.git
cd TechnoAI-ReactJScd backend
npm installcd ..
npm installYou’ll need two environment files — one for the backend and one for the frontend.
MONGO_URI=mongodb+srv://<username>:<password>@cluster0.mongodb.net/technoai?retryWrites=true&w=majority
PORT=5000
VITE_GOOGLE_CLIENT_ID=your-google-client-id.apps.googleusercontent.com
VITE_APP_GEMINI_API_KEY=your-gemini-api-key
VITE_API_BASE_URL=http://localhost:5000/api
cd backend
npm run devor
node server.jscd ..
npm run devOnce both are running, open your browser and go to:
http://localhost:5173
| Variable | Location | Description | Example |
|---|---|---|---|
MONGO_URI |
Backend | MongoDB connection string | mongodb+srv://user:pass@cluster.mongodb.net/technoai |
PORT |
Backend | Backend server port | 5000 |
VITE_GOOGLE_CLIENT_ID |
Frontend | Google OAuth Client ID | your-google-client-id.apps.googleusercontent.com |
VITE_APP_GEMINI_API_KEY |
Frontend | Gemini API Key | AIzaSy... |
VITE_API_BASE_URL |
Frontend | API base URL | http://localhost:5000/api |
npm run buildThis will generate a /dist folder, ready for deployment (Netlify, Vercel, etc.).
Upload /backend to Render, Railway, or your preferred hosting provider.
Be sure to configure all environment variables in your host’s dashboard.
| Issue | Solution |
|---|---|
| API not connecting | Check VITE_API_BASE_URL and CORS setup |
| MongoDB connection fails | Verify credentials and IP whitelist |
.env not loading |
Ensure correct file paths and restart server |
| Frontend variables undefined | All Vite env vars must start with VITE_ |
- Never expose API keys or credentials in public repos
- Always include
.envin.gitignore - Use HTTPS in production
- Sanitize all user input
- Keep dependencies updated
- Fork the repository
- Create a feature branch
git checkout -b feature/your-feature
- Commit your changes
git commit -m "Added new feature" - Push to your branch
git push origin feature/your-feature
- Open a Pull Request
/node_modules
/dist
.env
/backend/.env
.DS_Store
This project is licensed under the MIT License.