added app icon and readme
CI/CD / Backend Unit Tests (push) Successful in 3m16s
CI/CD / Deploy (push) Successful in 2m45s
CI/CD / Mobile Release (push) Has been cancelled

This commit is contained in:
2026-07-30 15:12:06 +02:00
parent dcf65840c0
commit ce01ab763c
8 changed files with 32 additions and 76 deletions
+31 -75
View File
@@ -1,91 +1,47 @@
# Full-Stack Learning Project
# ETF Oglasi
This repository is a full-stack learning project focused on building and understanding modern application development practices end-to-end.
<img src="logo.png" alt="ETF Oglasi logo" width="150" />
It demonstrates how to design, build, and deploy a real-world application using a backend API, mobile frontend, database integration, and CI/CD workflows.
A hobby full-stack project I built to learn modern app development end to end.
---
It scrapes the announcement boards of the Faculty of Electrical Engineering,
University of Banja Luka, stores the announcements in PostgreSQL, and lets
students browse and subscribe to subjects from a mobile app. Subscribers get
push notifications when new announcements are posted.
## Tech Stack
### Backend
- Spring Boot
- RESTful API architecture
- PostgreSQL database
- **Backend:** Spring Boot 3.5 (Java 21), REST API, PostgreSQL
- **Frontend:** React Native / Expo (Expo Router, NativeWind)
- **Notifications:** Firebase Cloud Messaging
- **Tooling:** Docker, Gitea Actions for CI/CD, deployed to a self-hosted home server
### Frontend
- React Native (Expo)
## Project Structure
### DevOps / Tooling
- Docker
- CI/CD pipelines (Gitea Actions or similar)
- Git version control
- `backend/` — Spring Boot REST API and the scraper
- `frontend/` — Expo mobile app
---
## Backend
## Purpose
```bash
cd backend
cp src/main/resources/application.properties.example src/main/resources/application.properties # fill in datasource + jwt.secret
docker compose up -d # local Postgres
./gradlew bootRun
```
The goal of this project is to gain hands-on experience with:
Run tests: `./gradlew test`
- Full-stack application architecture
- Backend API development with Spring Boot
- Mobile development with React Native
- Database design and integration
- Authentication and security concepts
- Containerization with Docker
- Continuous Integration / Continuous Deployment (CI/CD)
## Frontend
---
## Deployment
The application is deployed on a self-hosted home server for development and testing purposes.
---
## How to Run (Backend)
To be added.
Planned steps:
- Install Java and Gradle
- Configure PostgreSQL database
- Set environment variables
- Run Spring Boot application
- Expose API on localhost or network
- I usually run eveything with traefik but i dont know should i include that here???
---
## How to Run (Frontend)
To be added...
---
## CI/CD
To be added.
Planned steps:
- Configure Gitea Actions / CI pipeline
- Build backend and frontend automatically
- Deploy to home server
- Automate testing and builds
---
```bash
cd frontend
npm install
# set EXPO_PUBLIC_API_URL in .env to the backend base URL
npm start
```
## Status
This project is currently under semi-active development as a learning and experimentation environment.
---
## Notes
This project is just me messing around with stuff while making an app i will use and perhaps others will find it useful
need to made .creds .env and init directory with subjects.txt
Semi-actively developed as a learning project. It is an app I actually use, and
maybe others will find it useful too.
+1 -1
View File
@@ -14,7 +14,7 @@
"android": {
"googleServicesFile": "./google-services.json",
"adaptiveIcon": {
"backgroundColor": "#E6F4FE",
"backgroundColor": "#1C1918",
"foregroundImage": "./assets/images/android-icon-foreground.png",
"backgroundImage": "./assets/images/android-icon-background.png",
"monochromeImage": "./assets/images/android-icon-monochrome.png"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

After

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 384 KiB

After

Width:  |  Height:  |  Size: 916 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 232 KiB