SCHOOL INFORMATION SYSTEM
Description:
This application serves as a school information system designed to
manage and promote voluntary events (e.g., orientation events, barbecues,
competitions, excursions, etc.) and lectures related to the field of study.
It enables students to explore various activities and participate in
those that interest them, while providing useful information and
interactive features to simplify registration and attendance tracking.
The system is primarily intended for students seeking opportunities to enrich
their education through diverse events and lectures.
Additionally, it offers organizers a tool for promoting and managing
these activities effectively.
Users:
- Students:
-
Primary users who wish to participate in events and lectures.
Have limited permissions and cannot modify or delete events. - Organizers:
-
Users responsible for managing and promoting events.
Have full access to the system and can manage user accounts.
Key Features of the Application:
- Event Calendar:
-
A monthly calendar is displayed, allowing students to browse upcoming events.
Students can click on a specific date to view a list of events occurring on that day, including details such as the event name, time, location, and registration options. - Event Registration:
-
Enables students to register for events and track their participation.
Provides registration confirmation. - Event Feedback:
- Allows students to rate events on a scale of 1-5 and add comments to their evaluations.
- Event Notifications:
- Enables students to get a confirmation about event registration through e-mail.
- Student Personal Profile:
- Students can manage their profiles, which include basic personal information and a history of registered events.
- Participation History:
- Displays a history of events attended by students, along with the feedback they provided.
- Event Management for Organizers:
-
Organizers can create, edit, and delete events.
Allows organizers to add event details such as title, description, location, capacity, and date. - Registration Tracking for Organizers:
- Organizers can track event registrations and generate attendance reports.
- communication with Students:
- Organizers can send messages to students regarding upcoming events and changes in plans.
Technologies:
- Java:
- The primary programming language used for developing the application.
- Spring Boot:
- Employed to simplify the development process and manage application configuration.
- REST API:
- Implemented to enable communication between the frontend and backend.
- Spring Security:
- Integrated to handle authentication and authorization.
- PostgreSQL:
- Used as the relational database for storing application data.
- Development Tools:
- IntelliJ IDEA, Postman (used for testing REST API), Neon Database