Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

142 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JobSpring

A comprehensive career guidance and job portal platform.

Tech Stack

  • Backend: Spring Boot 3.5.5
  • Database: PostgreSQL
  • ORM: Hibernate/JPA
  • Build Tool: Maven
  • Java Version: 17

Installation

  1. Clone the repository:
git clone https://github.com/Siyam-Bhuiyan/JobSpring.git
cd JobSpring/server
  1. Configure PostgreSQL database:

    • Create a database named jobspring
    • Update src/main/resources/application.properties with your database credentials
  2. Run the application:

./mvnw spring-boot:run

API Endpoints

Base URL: http://localhost:8080/api

Authentication

  1. POST /api/auth/login
{
  "email": "user@example.com",
  "password": "password123"
}

User Management

  1. POST /api/users
{
  "name": "John Doe",
  "email": "john@example.com",
  "password": "password123",
  "role": "user"
}
  1. GET /api/users
  2. GET /api/users/{id}
  3. PUT /api/users/{id}
  4. DELETE /api/users/{id}

Company Management

  1. POST /api/companies
{
  "name": "TechCorp",
  "description": "A technology company",
  "location": "New York",
  "website": "https://techcorp.com"
}
  1. GET /api/companies
  2. GET /api/companies/{id}
  3. PUT /api/companies/{id}
  4. DELETE /api/companies/{id}

Job Management

  1. POST /api/jobs/company/{companyId}
{
  "title": "Software Engineer",
  "description": "Develop amazing software",
  "location": "New York",
  "responsibilities": "Code, test, debug applications",
  "qualifications": "Bachelor degree in Computer Science",
  "skills": ["Java", "Spring Boot", "React"]
}
  1. POST /api/jobs
{
  "title": "Software Engineer",
  "description": "Develop amazing software",
  "location": "New York",
  "responsibilities": "Code, test, debug applications",
  "qualifications": "Bachelor degree in Computer Science",
  "skills": ["Java", "Spring Boot", "React"],
  "company": {
    "id": 1
  }
}
  1. GET /api/jobs
  2. GET /api/jobs/{id}
  3. GET /api/jobs/company/{companyId}
  4. PUT /api/jobs/{id}
  5. DELETE /api/jobs/{id}

Application Management

  1. POST /api/applications/user/{userId}/job/{jobId}
{
  "status": "applied",
  "coverLetter": "I am excited to contribute to your team!"
}
  1. POST /api/applications/job/{jobId}
{
  "user": {
    "id": 1
  },
  "status": "applied",
  "coverLetter": "I am excited to contribute to your team!"
}
  1. POST /api/applications
{
  "user": {
    "id": 1
  },
  "job": {
    "id": 2
  },
  "status": "applied",
  "coverLetter": "I am excited to contribute to your team!"
}
  1. GET /api/applications
  2. GET /api/applications/{id}
  3. GET /api/applications/user/{userId}
  4. GET /api/applications/job/{jobId}
  5. PUT /api/applications/{id}
  6. DELETE /api/applications/{id}

Blog Management

  1. POST /api/blogs/user/{userId}
{
  "title": "How I prepped for my first Java interview",
  "content": "Notes, mistakes, what worked...",
  "tags": ["Java", "Interview", "Career"],
  "published": true
}
  1. POST /api/blogs
{
  "title": "Career guidance for CS students",
  "content": "Complete guide for computer science students...",
  "author": {
    "id": 1
  },
  "tags": ["Career", "Computer Science"],
  "published": true
}
  1. GET /api/blogs
  2. GET /api/blogs/published
  3. GET /api/blogs/search?q={keyword}
  4. GET /api/blogs/{id}
  5. GET /api/blogs/user/{userId}
  6. PUT /api/blogs/{id}
  7. DELETE /api/blogs/{id}

Database Configuration

server.port=8080

spring.datasource.url=jdbc:postgresql://localhost:5432/jobspring
spring.datasource.username=your_username
spring.datasource.password=your_password

spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect

About

project for web architecture course

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages