Graduate Information System project for the Database Systems Lecture made with Java, Postgresql and love :)
Explore the docs »
Table of Contents
In Database System's Lecture, we learned a lot about database systems. And at the end of the semester, we were required to build a GUI application that can perform different SQL queries. A classic approach would be using Java Swing Library with JDBC. But I didn't do that. I had about a year of experience building projects with Spring Framework. And I know how powerful it is. Although I have always built the backend of the projects and never really got a chance to try creating UI.
For this, I picked Vaadin Framework. It is a framework built on top of Spring, to create Progressive Web Applications.
It took a while to learn all the components but the results were worth it!
Here is the list of technologies I've used in the project.
To run this project locally, you need the following to set up setting up the project locally. To get a local copy up and running follow these simple example steps.
This is an example of how to list things you need to use the software and how to install them.
- Java
- Maven
- Docker
You don't need to download Postgresql since my Dockerfile automatically configures it for you.
- Clone the repo
git clone https://github.com/umutsevdi/graduate-information-system.git
- Run the docker-compose.yaml
docker-compose up --build
- Download required Java libraries
mvn clean install
- Users can log in or register to our application. When they register their information is saved into the database. When they log in, their session is stored in the memory of the application with a randomized token.
- Users are redirected automatically to the login page when their token timeouts or their session is not found.
After login users are navigated to the Home Page. Here, they can see the posts of the people from the user's university.
Users can post announcements and delete their existing ones. Also, they can like each others' posts.
Each user has a profile. On the profile page, you can see basic information about that person and their posts. You can edit your information by pressing the edit profile button.
Each graduated user can see posts specific to their faculty. And also users can see people they graduated with.
Users can find jobs that are published by other users. Here you can apply to jobs by using forms. Users who do not work at a company can not create job applications. Users can not sign up for job applications created by themselves.
This project is built for Database Systems project and because of the deadline it contains serious bad practices such as:
- It is open to SQL Injection.
- Passwords are not hashed.
Please do not use it in anything serious.
Project Link: umutsevdi/graduate-information-system