The backend server for RepX AI, an educational platform that facilitates assignment creation, submission, and evaluation between teachers and students.
For detailed documentation, visit our RepX AI Backend Documentation
- User Management: Support for teacher and student roles
- Assignment Creation: Teachers can create assignments with detailed instructions
- Assignment Submission: Students can join assignments and submit their work
- Evaluation System: Teachers can evaluate and grade student submissions
- API Endpoints: RESTful API endpoints for frontend integration
- Node.js: JavaScript runtime
- Express: Web framework
- MongoDB: Database
- Mongoose: MongoDB object modeling
- Vercel: Deployment platform
-
Clone the repository:
git clone https://github.com/Rep-X-AI/repx-ai-backend.git cd repx-ai-backend
-
Install dependencies:
npm install
-
Create a
.env
file in the root directory with the following variables:PORT=8080 MONGO_URI=your_mongodb_connection_string REACT_APP_NODE_ENV=development
-
Start the development server:
npm run dev
GET /api/users/fetchuser/:useruid
- Fetch user by IDPOST /api/users
- Create a new user
POST /api/assignments/create
- Create a new assignmentPOST /api/assignments/joinAssignment
- Join an assignmentPOST /api/assignments/submitAssignment/:id
- Submit an assignmentGET /api/assignments/teachers/:useruid
- Fetch assignments created by a teacherGET /api/assignments/students/:useruid
- Fetch assignments assigned to a studentPATCH /api/assignments/:id
- Update an assignmentDELETE /api/assignments/:id
- Delete an assignmentGET /api/assignments/get-assignment-teacher/:id
- Get assignment details for teacherGET /api/assignments/get-assignment-student/:id
- Get assignment details for studentGET /api/assignments/get-submissions-teacher/:id
- Get submissions for a teacherGET /api/assignments/get-submissions-student/:id
- Get submission for a studentPOST /api/assignments/evaluate/:id
- Evaluate a submission
# Run tests (when implemented)
npm test
This project is licensed under the MIT LICENSE.
Contributions are welcome! Please check out our Contributing Guidelines for more details.