Skip to content

iips-summer-internship-2025/Student-Information-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

SIS — Student Information System

A compact, developer-friendly README for this repository (SIS). I inspected the repository layout and prepared this README to match the project's technology mix: a Java backend built with Maven (Backend/), and a JavaScript frontend (Frontend/) with CSS/HTML.

Badges

Build Status License Contributions Welcome

Table of contents

About

SIS is a Student Information System project combining:

  • A Java backend (Maven project) located in the Backend/ directory.
  • A JavaScript frontend (UI) located in the Frontend/ directory, styled with CSS and HTML.

This README gives exact commands and practical guidance to build, run, test, and contribute based on the repository layout.

Repository layout

(Observed from the repo root)

  • Backend/
    • .mvn/
    • mvnw, mvnw.cmd
    • pom.xml
    • src/ (Java source)
  • Frontend/
    • (frontend project files — package.json expected)
  • .gitattributes, .gitignore (under Backend/ as observed)

Note: adapt any directory names below if the project uses different subfolder names.

Prerequisites

  • Git
  • Java JDK 11+ (or the version required by the project)
  • Maven (optional — the project includes wrapper scripts)
  • Node.js 14+ and npm or yarn (for the frontend)
  • Docker & docker-compose (optional, if you add containerization)

Backend (Java / Maven)

Build

# from repository root
cd Backend

# Unix / macOS
./mvnw clean package

# Windows (PowerShell / CMD)
mvnw.cmd clean package

Notes:

  • The wrapper (mvnw) will download the correct Maven version defined by the project.
  • The packaged artifact will be in Backend/target/ (for example target/*.jar).

Run

# From Backend/ you can usually run
# If the project is Spring Boot or produces an executable jar:
java -jar target/*.jar

# Or run via the wrapper (if configured):
./mvnw spring-boot:run
# Windows:
mvnw.cmd spring-boot:run

If the backend uses a different main class or a standard WAR, run it with your application server or your chosen method.

Test

# Run unit & integration tests
cd Backend
./mvnw test        # Unix/macOS
# or
mvnw.cmd test      # Windows

Frontend (JavaScript / CSS / HTML)

Install & run (development)

cd Frontend
npm install
npm start
# or, if the project uses yarn:
# yarn install
# yarn start

Build (production)

cd Frontend
npm run build
# or
# yarn build

Test

cd Frontend
npm test
# or yarn test

Configuration & environment variables

The backend may read configuration from application.properties/application.yml or environment variables. Common variables to configure:

  • DATABASE_URL or JDBC_DATABASE_URL — JDBC connection string (e.g., jdbc:postgresql://host:5432/sis)
  • DB_USER / DB_PASSWORD — DB credentials
  • SERVER_PORT — backend port (default often 8080)
  • FRONTEND_URL / CORS_ALLOWED_ORIGINS — frontend origin during development
  • JWT_SECRET or SECRET_KEY — for token-based auth (if present)

For the frontend:

Add a .env or update your local configuration according to how the project reads env vars (application.properties, .env, or directly via build tooling).

API examples

Common REST endpoints that a Student Information System backend typically exposes (adjust to actual implementation):

  • GET /api/students — list students
  • GET /api/students/{id} — get student by id
  • POST /api/students — create student
  • PUT /api/students/{id} — update student
  • DELETE /api/students/{id} — delete student

Example student JSON

{
  "id": 123,
  "firstName": "Jane",
  "lastName": "Doe",
  "email": "[email protected]",
  "enrolledCourses": [
    { "courseId": "CS101", "term": "Fall2025" }
  ]
}

Authentication

If the backend requires Bearer tokens:

Authorization: Bearer <JWT_TOKEN>

Development workflow

  • Create a feature branch:
git checkout -b feat/short-description
  • Keep commits small and focused.
  • Run tests locally before opening a pull request.
  • Push branch and open a PR against main (or develop if used).

Contributing

  1. Fork the repository.
  2. Create a topic branch for your changes.
  3. Implement changes and include tests where appropriate.
  4. Run backend & frontend tests locally.
  5. Open a pull request with a descriptive title and a summary of changes.

Troubleshooting

  • Backend can't connect to DB: verify JDBC URL, DB credentials, and that the DB is running.
  • Port conflict: change SERVER_PORT or the port used by the frontend dev server.
  • Frontend CORS errors: ensure backend CORS settings allow the frontend origin in development.
  • Build failure: check Java version and dependency resolution in pom.xml.

License & authors

  • Add or update LICENSE (MIT suggested if you want permissive open source).
  • Maintainer: Kushagra6009
  • Add contributors and acknowledgements as needed.

Contact

Open issues on the repository for bugs, feature requests, or questions.

Notes on what I inspected

I inspected the repository structure and confirmed a Maven-based Java backend under Backend/ (includes pom.xml, mvnw, .mvn/, and src/) and a frontend project under Frontend/. The README above is tailored to that composition and contains concrete commands using the project's wrapper scripts and typical frontend commands.

If you'd like, I can:

  • tailor the backend run instructions to the exact Spring Boot artifact name (if it is Spring Boot), or
  • detect and add exact npm scripts from Frontend/package.json and embed them here.

Releases

No releases published

Packages

No packages published

Contributors 10