https://github.com/colintr/koboard
Shared dashboard to facilitate common tasks and communication between roommates
https://github.com/colintr/koboard
Last synced: about 1 year ago
JSON representation
Shared dashboard to facilitate common tasks and communication between roommates
- Host: GitHub
- URL: https://github.com/colintr/koboard
- Owner: ColinTr
- License: mit
- Created: 2024-08-20T13:22:08.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-20T14:09:29.000Z (almost 2 years ago)
- Last Synced: 2025-02-05T19:59:50.838Z (over 1 year ago)
- Language: Java
- Size: 4.91 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
KoBoard
Application designed to facilitate the management of a shared living space.
It integrates note sharing, shopping list management, calendar synchronization, chat, budget tracking, task assignment, and music playback.
[](https://opensource.org/licenses/MIT)
## π Overview
This project was developed as part of the course "IFT 717 - Applications Internet & MobilitΓ©".
The project architecture consists of:
1. A backend server using Express.js
2. A web application built with React.js
3. An Android mobile application
The backend server interacts with a MongoDB database hosted on a VPS and connects with various commercial APIs such as Spotify, Geonames, and Google Calendar.
## ποΈ Project structure
### 1. Express.js backend server
The backend server is built using Express.js and serves as the central hub for data management and API communication.
It uses asynchronous JavaScript with promises to handle database access and API calls efficiently.
It is structured using the Route-Controller-Services architecture.
### 2. React.js web application
The web application is built using React and provides a responsive interface for the following functionalities:
- Home: Integrated Spotify web player.
- Konotes: Shared note-taking with user tagging.
- Kourses: Shared shopping lists.
- Kotemps: Google Calendar integration.
- Kochat: Real-time chat using socket.io.
- Kognotte: Budget management.
- Koulette: Task assignment roulette.
- Kusique: Spotify integration with geolocation-based playlist.

#### OAuth Authentication
OAuth authentication is implemented to allow users to log in using their Google accounts. The process involves token validation and redirection to ensure secure access.
### 3. Android application
The Android application mirrors the functionalities of the web application, including login, notes, chat, ...

## π» Installation
### Backend server
1. Clone the repository.
2. Navigate to the serveur_node_js directory.
3. Install dependencies: `npm install`
4. Start the server: `npm start`
### Web application
1. Navigate to the serveur_react directory.
2. Install dependencies: `npm install`
3. Start the development server: `npm start`
### Android application
1. Open the project in [Android Studio](https://developer.android.com/studio).
2. Sync the project with Gradle files.
3. Run the application on an emulator or physical device.
## π Directory structure
βββ README.md <- Le README du plus haut niveau qui dΓ©crit la structure du projet
β
βββ application_android <- Le projet du client Android
β βββ app.src
β βββ androidTest
β βββ main.java.com.example.koboard
β | βββ httpUtils
β | βββ model
β | βββ notification
β | βββ resources
β | βββ services
β | βββ ui
β βββ test
β
βββ serveur_express <- Le serveur express backend (notre API)
β βββ README.md
β βββ public
β βββ src
β βββ controllers <- ImplΓ©mentation de la logique des routes
β βββ models <- ModΓ¨le des objets de la BDD
β βββ routes <- DΓ©finition des routes
β βββ services <- MΓ©thodes de gestion de la BDD
β βββ utils <- Fichiers de configuration et mΓ©thodes utilitaires
β βββ app.js
β
βββ serveur_react <- Le client Web frontend
β βββ README.md
β βββ public
β βββ src
β βββ assets
β βββ components
β βββ routes