A sophisticated recommendation system for Archive of Our Own (AO3) that leverages AI/ML to provide personalized fanfiction suggestions through a Chrome extension. Features secure authentication, profile management, and ML-powered recommendations.
- Secure JWT-based authentication system with token validation
- User profile management with customizable usernames
- ML-powered fanfiction recommendations based on user preferences
- Cross-origin resource sharing (CORS) support for Chrome extension
- RESTful API architecture with Express.js
- Password hashing for enhanced security
-
Node.js v14.0.0 or higher
-
PostgreSQL database
-
Core Dependencies:
- express: ^4.19.2
- jsonwebtoken: ^9.0.2
- bcrypt: ^5.1.1
- cors: ^2.8.5
- body-parser: ^1.20.2
- cookie-parser: ^1.4.6
- dotenv: ^16.4.5
- pg: ^8.12.0
POST /auth/login - User login
POST /auth/register - New user registration
GET /auth/token/:token - Token validation
GET /auth/validate - Verify user token
PATCH /auth/update_username - Update user's username
GET /auth/userdetail - Get user details
GET /recom - Get personalized recommendations (requires authentication)
Clone the repository and install dependencies:
git clone https://github.com/GDGVIT/ao3-chrome-extension-backend.git
cd ao3-chrome-extension-backend
npm install
Set up your environment variables in .env
:
PORT=3000
DATABASE_URL=your_postgres_connection_string
JWT_SECRET=your_jwt_secret
# Add other required environment variables
Start the development server:
npm run test
Varshith Kumar
Backend |
Dipit Madan
Machine Learning |
Made with ❤ by GDSC-VIT