(english version)
PhotoManagerApp is a client-server application built with Swift and Vapor. The project is designed to manage photos, albums, users, and comments. It features a comprehensive structure that includes separate modules for client and server functionalities, ensuring a clear separation of concerns and modular development.
- User registration and authentication
- Photo storage and retrieval
- Album and photo management
- Commenting on photos
- Admin panel for managing users and content
- Swift: A powerful and intuitive programming language for macOS, iOS, watchOS, and tvOS.
- SwiftUI: A modern framework for building user interfaces across all Apple platforms.
- Vapor: A web framework for Swift that allows you to create server-side applications and APIs.
- Fluent: An ORM (Object-Relational Mapping) framework for Swift that works with Vapor.
- SQLite: A lightweight, disk-based database that doesn’t require a separate server process.
- Combine: A framework that provides a declarative Swift API for processing values over time.
- Client: Contains all the client-side code including models, view models, and views.
- Server: Contains all the server-side code including models, controllers, services, and migrations.
- Tests: Contains unit and UI tests for both client and server modules.
- Clone the repository:
git clone https://github.com/ChuckRipper/PhotoManagerApp_Swift_Project4.git cd PhotoManagerApp_Swift_Project4
- Install dependencies:
cd Server swift package update
- Run the server:
vapor run
- Open the client project in Xcode:
open PhotoManagerApp_Swift_Project4.xcodeproj
- Build and run the client app in Xcode.
- Fork the repository.
- Create a new branch:
git checkout -b feature-branch
- Commit your changes:
git commit -am 'New feature'
- Push to the branch:
git push origin feature-branch
- Create a new Pull Request.
This project is licensed under the MIT License. See the LICENSE file for details.
(polish version)
PhotoManagerApp to aplikacja klient-serwer zbudowana w językach Swift i Vapor. Projekt jest zaprojektowany do zarządzania zdjęciami, albumami, użytkownikami i komentarzami. Zawiera kompleksową strukturę, która obejmuje oddzielne moduły dla funkcjonalności klienta i serwera, zapewniając wyraźny podział obowiązków i modułowy rozwój.
- Rejestracja i uwierzytelnianie użytkowników
- Przechowywanie i pobieranie zdjęć
- Zarządzanie albumami i zdjęciami
- Komentowanie zdjęć
- Panel administracyjny do zarządzania użytkownikami i treściami
- Swift: Potężny i intuicyjny język programowania dla systemów macOS, iOS, watchOS i tvOS.
- SwiftUI: Nowoczesny framework do budowania interfejsów użytkownika na wszystkich platformach Apple.
- Vapor: Framework webowy dla Swift, który umożliwia tworzenie aplikacji po stronie serwera i interfejsów API.
- Fluent: Framework ORM (Object-Relational Mapping) dla Swift, współpracujący z Vapor.
- SQLite: Lekka, bazująca na plikach baza danych, która nie wymaga oddzielnego procesu serwera.
- Combine: Framework oferujący deklaratywne API Swift do przetwarzania wartości w czasie.
- Client: Zawiera cały kod po stronie klienta, w tym modele, modele widoków i widoki.
- Server: Zawiera cały kod po stronie serwera, w tym modele, kontrolery, serwisy i migracje.
- Tests: Zawiera testy jednostkowe i UI dla modułów klienta i serwera.
- Sklonuj repozytorium:
git clone https://github.com/ChuckRipper/PhotoManagerApp_Swift_Project4.git cd PhotoManagerApp_Swift_Project4
- Zainstaluj zależności:
cd Server swift package update
- Uruchom serwer:
vapor run
- Otwórz projekt klienta w Xcode:
open PhotoManagerApp_Swift_Project4.xcodeproj
- Zbuduj i uruchom aplikację klienta w Xcode.
- Forknij repozytorium.
- Utwórz nową gałąź:
git checkout -b feature-branch
- Zatwierdź swoje zmiany:
git commit -am 'Nowa funkcja'
- Wypchnij zmiany na gałąź:
git push origin feature-branch
- Utwórz nowy Pull Request.
Ten projekt jest licencjonowany na warunkach licencji MIT. Zobacz plik LICENSE, aby uzyskać szczegółowe informacje.