AlumX is a scalable, backend-heavy alumni networking platform designed to connect students, alumni, and faculty through mentorship, knowledge sharing, and AI-powered discovery.
This repository contains the Spring Boot backend powering AlumX.
- Overview
- Core Features
- AI-Powered Capabilities
- System Architecture
- Tech Stack
- Database Schema (High Level)
- API Design
- Security
- Project Setup
- Directory Structure
- Contribution Guidelines
- Future Enhancements
- Student, Alumni, and Professor roles
- JWT based login using email & password
- OAuth2 login (Google, LinkedIn)
- Profile completion with skills, interests, experience
- Students can request alumni as mentors
- Chat functionality is available between mentor and mentee.
- Alumni can accept or reject mentorship
- Professors can act as moderators/proctors
- Alumni can write experience-based blog posts
- Students can like, comment, and engage
- Feed ranking based on engagement like LinkedIn/Reddit
- Search alumni by:
- Company
- Skills
- Domain
- Graduation year
- AI-powered semantic search (RAG-based)
- AI-assisted resume generation
- Uses user-provided API key
- Auto-fill details, skills from AlumX profile
Client (Jetpack Compose)
|
v
Spring Boot API Gateway
|
------------------------------------------------
| Auth | User | Blog | Mentor | Search | AI |
------------------------------------------------
|
PostgreSQL | Redis | Vector DB | Object Storage
- Spring Boot 4
- Spring Security + OAuth2
- Spring Data JPA
- Hibernate
- MySQL – Primary database
- Redis – Caching & session management
- Vector DB (Pinecone / Weaviate / FAISS) – AI search
- OpenAI / Gemini / HuggingFace APIs
- LangChain / Spring AI
- Docker
- GitHub Actions (CI/CD)
- AWS / GCP (optional)
- Java 21
- Maven
- PostgreSQL
- Docker
- VectorDB
- WebSockets
This project uses Spring Boot + PostgreSQL and reads configuration from environment variables to keep secrets out of the codebase.
git clone https://github.com/opencodeiiita/alum-x-backend.git
cd alum-x-backendMake sure PostgreSQL is installed and running on your system.
Login to PostgreSQL as postgres:
psql -U postgresThen run:
CREATE DATABASE alumx;
CREATE USER alumx WITH PASSWORD 'alumx123';
GRANT ALL PRIVILEGES ON DATABASE alumx TO alumx;Exit PostgreSQL:
\qThe .env file you will need, will be provided to you by the mentor
⚠️ Do not commit.env— it is ignored via.gitignore.
Spring Boot does not automatically load .env files in IntelliJ.
- Go to Run → Edit Configurations
- Select your Spring Boot run configuration
- Under Environment variables, click Load from file
- Select the
.envfile - Apply and close
mvn clean install
mvn spring-boot:run- Follow clean architecture
- Use meaningful commit messages
- Open PRs with proper descriptions
- Avoid pushing secrets