Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
161 commits
Select commit Hold shift + click to select a range
2da9eb3
ci(github): add GitHub Actions workflow and PR template
DebojyotiMishra Mar 27, 2025
b200ddb
docs(readme): add development instructions
DebojyotiMishra Mar 27, 2025
73d0aec
Merge branch 'docs/update-development-instructions' into develop
DebojyotiMishra Mar 27, 2025
a0ecb1f
docs(readme): add contributing guide for new team members
DebojyotiMishra Mar 27, 2025
140eebe
Merge pull request #1 from arcreane/docs/add-contributing-guide
DebojyotiMishra Mar 27, 2025
502c362
feat(core): initialize Android project with MVVM and Firebase
DebojyotiMishra Mar 31, 2025
938c4dc
Merge pull request #2 from DebojyotiMishra/develop
DebojyotiMishra Mar 31, 2025
145cf23
chore(config): add Firebase configuration and gitignore
DebojyotiMishra Mar 31, 2025
b0cf495
Merge pull request #3 from DebojyotiMishra/bugfix/cradle-dependencies
DebojyotiMishra Mar 31, 2025
e3130f7
Merge branch 'bugfix/cradle-dependencies' into develop
DebojyotiMishra Mar 31, 2025
4f4b07d
Merge branch 'develop' of https://github.com/arcreane/android-project…
DebojyotiMishra Mar 31, 2025
dcac721
Merge pull request #5 from DebojyotiMishra/bugfix/cradle-dependencies
DebojyotiMishra Mar 31, 2025
4060d29
chore(test): testing
callanicha Mar 31, 2025
ed1ba5c
Merge pull request #7 from callanicha/develop
callanicha Mar 31, 2025
44dab2d
test(profile): add TestFile.java for test commit
tienquocbui Mar 31, 2025
584a11b
Merge pull request #8 from tienquocbui/feature/test-commit
tienquocbui Mar 31, 2025
14c6ff2
delete tracked ggradle
everleepham Mar 31, 2025
2c7c755
Merge changes and resolve conflicts
DebojyotiMishra Mar 31, 2025
83955a7
Merge pull request #9 from DebojyotiMishra/develop
DebojyotiMishra Mar 31, 2025
7db0e93
Fix: Add dummy google-services.json for CI and suppress compileSdk wa…
DebojyotiMishra Mar 31, 2025
181280f
Merge pull request #10 from DebojyotiMishra/fix/google-services-config
DebojyotiMishra Mar 31, 2025
b0d23ee
Merge upstream/develop into fix/google-services-config
DebojyotiMishra Mar 31, 2025
dc28ff4
Merge branch 'fix/google-services-config' into develop
DebojyotiMishra Mar 31, 2025
0a771ea
fix: minor fixes
DebojyotiMishra Mar 31, 2025
ca79fd2
Merge pull request #11 from DebojyotiMishra/develop
DebojyotiMishra Mar 31, 2025
4221638
Merge branch 'develop' of https://github.com/arcreane/android-project…
DebojyotiMishra Mar 31, 2025
45debc2
Add missing layout files and resources
DebojyotiMishra Mar 31, 2025
b45c532
Merge branch 'fix/missing-layouts' into develop
DebojyotiMishra Mar 31, 2025
a00de31
Merge pull request #12 from DebojyotiMishra/develop
DebojyotiMishra Mar 31, 2025
d4759d9
feat(auth): implement Firebase Authentication and user management
DebojyotiMishra Apr 1, 2025
3ba7255
Merge branch 'feature/firebase-auth' into develop
DebojyotiMishra Apr 1, 2025
0f5d5b4
chore: add untracked files
DebojyotiMishra Apr 1, 2025
b4ea41d
Merge pull request #13 from DebojyotiMishra/develop
DebojyotiMishra Apr 1, 2025
28ca457
fix(auth): correct import paths for activities
DebojyotiMishra Apr 1, 2025
0d5c578
Merge pull request #14 from DebojyotiMishra/develop
DebojyotiMishra Apr 1, 2025
321bf01
feat(ui): redesign login and signup screens with dark theme
tienquocbui Apr 1, 2025
679c78d
Merge pull request #15 from tienquocbui/feature/redesign-auth-ui
tienquocbui Apr 1, 2025
7fa4cbd
merge(develop): merge upstream changes and resolve conflicts
DebojyotiMishra Apr 1, 2025
4753dc7
feat(auth): add network check for login/signup
tienquocbui Apr 1, 2025
4116489
Merge pull request #16 from tienquocbui/feature/redesign-auth-ui
tienquocbui Apr 1, 2025
a358a34
chore: update gitignore to exclude Gradle cache files
DebojyotiMishra Apr 1, 2025
474640e
Resolved merge conflicts by removing .gradle files
everleepham Apr 1, 2025
21fffb7
style: remove trailing whitespace from gitignore
DebojyotiMishra Apr 1, 2025
6a6d1ad
chore: remove tracked Gradle files from git index
DebojyotiMishra Apr 1, 2025
ce5a648
Merge pull request #17 from DebojyotiMishra/develop
DebojyotiMishra Apr 1, 2025
29f6260
Stop tracking .gradle directory
everleepham Apr 1, 2025
19b7eeb
Merge branch 'develop' of https://github.com/arcreane/android-project…
everleepham Apr 1, 2025
4a4be8d
style: update login and signup page style
DebojyotiMishra Apr 1, 2025
195cc48
Merge pull request #18 from DebojyotiMishra/develop
DebojyotiMishra Apr 1, 2025
d810964
feat: add logout and minor style fixes
DebojyotiMishra Apr 1, 2025
f957890
Merge pull request #19 from DebojyotiMishra/develop
DebojyotiMishra Apr 1, 2025
cf69cd4
feat(core): set up firebase
everleepham Apr 1, 2025
3496b54
style: add improved font
DebojyotiMishra Apr 1, 2025
f75d0e4
Merge pull request #20 from DebojyotiMishra/develop
DebojyotiMishra Apr 1, 2025
efc03de
style: fix secondary button styling
DebojyotiMishra Apr 1, 2025
e11b307
Merge pull request #21 from DebojyotiMishra/develop
DebojyotiMishra Apr 1, 2025
54db3bc
style: minor style updates for buttons
DebojyotiMishra Apr 1, 2025
f025a6a
feat: add basic app pages and navigation
DebojyotiMishra Apr 1, 2025
9ac236d
Merge pull request #22 from DebojyotiMishra/develop
DebojyotiMishra Apr 1, 2025
c720782
Merge branch 'develop' of https://github.com/arcreane/android-project…
everleepham Apr 1, 2025
a8115aa
feat(auth): add handle reset password
everleepham Apr 2, 2025
89d241f
Merge pull request #23 from everleepham/develop
everleepham Apr 2, 2025
8968b41
Merge changes from upstream
DebojyotiMishra Apr 2, 2025
445eab1
style: add minor style updates
DebojyotiMishra Apr 2, 2025
4ab78c6
Merge pull request #24 from DebojyotiMishra/develop
DebojyotiMishra Apr 2, 2025
761aa7a
fix: fix navigation padding
DebojyotiMishra Apr 2, 2025
6d369ec
Merge pull request #25 from DebojyotiMishra/develop
DebojyotiMishra Apr 2, 2025
6fcb781
fix: add title to menu items
DebojyotiMishra Apr 2, 2025
3f02e02
Merge pull request #26 from DebojyotiMishra/develop
DebojyotiMishra Apr 2, 2025
28bce89
feat(manifest): add permissions for camera, audio, and location
everleepham Apr 2, 2025
f21cf0f
Merge pull request #27 from everleepham/develop
everleepham Apr 2, 2025
0b2ea2f
feat(camera): add CameraX libraries for camera functionality
everleepham Apr 2, 2025
36d719e
Merge pull request #28 from everleepham/develop
everleepham Apr 2, 2025
52c06ad
style(ui): redesign bottom navigation
tienquocbui Apr 3, 2025
4f7f17b
Merge pull request #29 from tienquocbui/feature/redesign
tienquocbui Apr 3, 2025
9765155
feat(camera): integrate CameraX into CameraFragment
tienquocbui Apr 3, 2025
f71fb33
Merge pull request #30 from tienquocbui/feature/camera-integration
tienquocbui Apr 3, 2025
f89172b
feat(camera): add permission to use camera and flip camera button
everleepham Apr 3, 2025
0e94d05
Merge pull request #31 from everleepham/develop
everleepham Apr 3, 2025
af93aca
feat(camera): flip camera button fix position
everleepham Apr 3, 2025
9e0aff3
Merge pull request #32 from everleepham/develop
everleepham Apr 3, 2025
d14bbd2
feat(camera): add capture image feature and flash button
everleepham Apr 3, 2025
554d9ab
Merge pull request #33 from everleepham/develop
everleepham Apr 3, 2025
6a84163
feat(home): add home fragment and user interface for home page
callanicha Apr 14, 2025
2bea733
Merge pull request #34 from callanicha/develop
callanicha Apr 14, 2025
09e0dac
feat(camera): camera update and new feed
tienquocbui Apr 14, 2025
1a832ac
Merge pull request #35 from tienquocbui/feature/feed
tienquocbui Apr 14, 2025
0bc6f1b
feat(camera): update some UI for the camera fragment
everleepham Apr 14, 2025
09307ee
Merge branch 'develop' into develop
everleepham Apr 14, 2025
0c57017
Update android.yml
everleepham Apr 14, 2025
e65bfa1
Merge pull request #36 from everleepham/develop
everleepham Apr 14, 2025
c33a102
feat(camera): fix git conflicts
everleepham Apr 14, 2025
1ba8481
Merge pull request #37 from everleepham/develop
everleepham Apr 14, 2025
da5f8e6
feat(camera): add show image view after taking picture
everleepham Apr 14, 2025
b423100
Merge pull request #38 from everleepham/develop
everleepham Apr 14, 2025
9d334f3
feat(camera): add method to post picture on feed
everleepham Apr 15, 2025
eb18baa
Merge pull request #39 from everleepham/develop
everleepham Apr 15, 2025
e7dd1b9
feat(profile): add UI profile page
everleepham Apr 15, 2025
1d2f722
Merge pull request #40 from everleepham/develop
everleepham Apr 15, 2025
2e5b958
feat(profile): add edit, change, email and password
tienquocbui Apr 15, 2025
ead47eb
Merge pull request #41 from tienquocbui/feature/profile
tienquocbui Apr 15, 2025
9363d71
feat(profile): update delete account, fix username display and passwo…
tienquocbui Apr 15, 2025
754a490
Merge pull request #42 from tienquocbui/feature/user-profile
tienquocbui Apr 15, 2025
6a925c1
feat(profile): fix email changement with password required
tienquocbui Apr 15, 2025
881e4d2
feat(profile): update with UI
tienquocbui Apr 15, 2025
7eb5abd
feat(profile): update UI of profile page
tienquocbui Apr 15, 2025
eef4779
design(profile): adjustments with UI
tienquocbui Apr 15, 2025
a02ab31
Merge pull request #43 from tienquocbui/profile/email
tienquocbui Apr 15, 2025
f8eea20
design(profile): add username changes
tienquocbui Apr 15, 2025
6910631
design(profile): update UI of profile page incling changing username
tienquocbui Apr 15, 2025
0e00f90
Merge pull request #44 from tienquocbui/profile/ui
tienquocbui Apr 15, 2025
de92334
feat(profile): change username based on rules
tienquocbui Apr 15, 2025
1fe2e01
fix(home): username at post layout must match with username was set
tienquocbui Apr 15, 2025
0f77b3b
design(profile): update with username, display name
tienquocbui Apr 15, 2025
a22f965
Merge pull request #45 from tienquocbui/profile/username
tienquocbui Apr 15, 2025
c3fdbc8
feat(camera): add storage for image, upload picture on storage
everleepham Apr 16, 2025
ff412d7
design(profile): update display username and display name
tienquocbui Apr 16, 2025
f827645
feat(storage): set up cloudinary for storing images
everleepham Apr 16, 2025
f4922c8
Merge pull request #47 from everleepham/develop
everleepham Apr 16, 2025
1e3d735
design(profile): beautiful UI Apple style
tienquocbui Apr 16, 2025
be0de67
Merge branch 'develop' into design/profile
tienquocbui Apr 16, 2025
ebdd691
Merge pull request #48 from tienquocbui/design/profile
tienquocbui Apr 16, 2025
ab93504
feat(camera): update camera
tienquocbui Apr 16, 2025
b0981a7
feat(post): fix social feed
tienquocbui Apr 16, 2025
882e8d6
feat(photo): fix camera features
tienquocbui Apr 16, 2025
7b4928a
feat(post): UI and post logic
tienquocbui Apr 16, 2025
b7f04ea
feat(post): posts feed and API IMPLEMENTION
tienquocbui Apr 16, 2025
6890f76
Merge pull request #49 from tienquocbui/feature/photo
tienquocbui Apr 16, 2025
36862c5
feat(home): push post on feed
everleepham Apr 16, 2025
1747610
fix(profile): fix building error on github
everleepham Apr 16, 2025
5fc3383
Merge pull request #50 from everleepham/develop
everleepham Apr 16, 2025
80835be
feat(home): clean test button and add delete post function
everleepham Apr 16, 2025
bb4fe5f
Merge pull request #51 from everleepham/develop
everleepham Apr 16, 2025
19c4c40
feat(feed): add delete post feature
everleepham Apr 17, 2025
fb5b864
Merge pull request #52 from everleepham/develop
everleepham Apr 17, 2025
e4c3de2
fix: clean up some code
everleepham Apr 17, 2025
46172ef
Merge pull request #53 from everleepham/develop
everleepham Apr 17, 2025
5ee4716
feat(home): like, share, comment and also improved UI of profile page
tienquocbui Apr 17, 2025
bbdb181
fix: profile page and camera ratio
tienquocbui Apr 17, 2025
99ff88e
feat(profile): add interests and share profile
tienquocbui Apr 17, 2025
2d55dda
fix: fix interests fragment
tienquocbui Apr 17, 2025
e467202
fix(profile): fix clear all interests button
tienquocbui Apr 17, 2025
039e60d
Merge pull request #54 from tienquocbui/dev/ui
tienquocbui Apr 17, 2025
cf38ef3
fix: errors
tienquocbui Apr 17, 2025
8c7ab60
Merge pull request #55 from tienquocbui/fix/bug
tienquocbui Apr 17, 2025
841c910
fix bugs related to aspect ratio error
tienquocbui Apr 17, 2025
a70b479
Merge pull request #56 from tienquocbui/fix/ci-android
tienquocbui Apr 17, 2025
b460a36
docs(readme): adjust readme
tienquocbui Apr 17, 2025
90f11d9
Merge pull request #57 from tienquocbui/hi
tienquocbui Apr 17, 2025
d53ef58
feat(profile): add profile avatar
tienquocbui Apr 17, 2025
ab4a2d4
Merge pull request #58 from tienquocbui/feature/profile-picture
tienquocbui Apr 17, 2025
c73df37
design: app icon
tienquocbui Apr 17, 2025
fffd726
Merge pull request #59 from tienquocbui/design/app-icon
tienquocbui Apr 17, 2025
83ff307
fix: complete and clean up code
everleepham Apr 17, 2025
0443a5a
Merge pull request #60 from everleepham/develop
everleepham Apr 17, 2025
633298a
feat(README): edit README file
everleepham Apr 17, 2025
39969b4
Merge pull request #61 from everleepham/develop
everleepham Apr 17, 2025
ca68c01
Merge pull request #62 from arcreane/develop
everleepham Apr 17, 2025
cdf247c
feat(widget): add widget to home screen
tienquocbui Apr 17, 2025
e105e6e
Merge pull request #63 from tienquocbui/design/widget
tienquocbui Apr 17, 2025
74b8ac8
Merge pull request #64 from arcreane/develop
everleepham Apr 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .DS_Store
Binary file not shown.
27 changes: 27 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Pull Request

## Description
<!-- Provide a detailed description of the changes in this PR -->

## Related Issues
<!-- Link to related issues with "Fixes #123" or "Resolves #123" -->

## Type of Change
- [ ] Bug fix (non-breaking change that fixes an issue)
- [ ] New feature (non-breaking change that adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] This change requires a documentation update

## How Has This Been Tested?
<!-- Describe the tests you ran to verify your changes -->
- [ ] Unit tests
- [ ] Integration tests
- [ ] Manual testing

## Checklist:
- [ ] My code follows the project's coding style
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
57 changes: 57 additions & 0 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Android CI

on:
push:
branches: [ main, develop, production ]
pull_request:
branches: [ main, develop, production ]

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
cache: gradle

- name: Create dummy google-services.json
run: |
echo '{
"project_info": {
"project_number": "123456789",
"project_id": "dummy-project",
"storage_bucket": "dummy-project.appspot.com"
},
"client": [{
"client_info": {
"mobilesdk_app_id": "1:123456789:android:abcdef123456",
"android_client_info": {
"package_name": "com.pineapple.capture"
}
},
"api_key": [{
"current_key": "dummy_api_key"
}],
"oauth_client": [],
"services": {
"appinvite_service": {
"other_platform_oauth_client": []
}
}
}]
}' > app/google-services.json

- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Build with Gradle
run: ./gradlew build --stacktrace

- name: Run Tests
run: ./gradlew test
82 changes: 82 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
*.iml
.gradle
.vscode
/local.properties
/.idea
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
local.properties

# Firebase configuration file
google-services.json
app/google-services.json

# Generated files
bin/
gen/
out/

# Gradle files
.gradle/
.gradle/**/*

# IDE files
.vscode/

# Local configuration file (sdk path, etc)
local.properties

# Log Files
*.log

# Android Studio Navigation editor temp files
.navigation/

# Android Studio captures folder
captures/

# IntelliJ
*.iml
.idea/workspace.xml
.idea/tasks.xml
.idea/gradle.xml
.idea/assetWizardSettings.xml
.idea/dictionaries
.idea/libraries
.idea/caches

# Keystore files
*.jks
*.keystore

# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild
.cxx/

# Version control
vcs.xml

# lint
lint/intermediates/
lint/generated/
lint/outputs/
lint/tmp/

# Gradle cache files
.gradle/
build/
.idea/
local.properties

# Android Studio generated files
*.iml
.idea/
captures/
.externalNativeBuild/
.cxx/

# Android Profiling
*.hprof
147 changes: 145 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,32 @@

# Capture - Android App

A Java-based Android application.
A Java-based Android application. Capture is a real-time social diary that lets you stay truly connected with your closest friends. Share spontaneous photos and thoughts directly to your friends’ home screens – as it happens. No filters, no algorithms, just raw, real-life moments.

Whether it’s a quick smile or a funny thought – Capture makes every little moment meaningful. It’s not about likes or followers. It’s about living and sharing life together, in real time.

## Project overview

### Features

- Take, post real-time pictures
- Like, share, comments on posts
- Lightweight, fast, and privacy-focused

### Team Members

- Phuong Khanh Pham
- Natthanicha Vongjarit
- Debojyoti Mishra
- Bui Tien Quoc

### Tech Stack

- **Language**: Java
- **Platform**: Android SDK (API level 26+)
- **IDE**: Android Studio
- **Version Control**: Git + GitHub
- **CI/CD**: GitHub Actions

## Branching Strategy

Expand Down Expand Up @@ -76,7 +101,125 @@ When the develop branch is stable and ready for release:

## Development Setup

[Add your development setup instructions here]
### Requirements

- Android Studio Iguana (2023.2.1) or newer
- JDK 17 or higher
- Android SDK with minimum API level 26 (Android 8.0 Oreo)
- Git

### Getting Started

1. Clone the repository:
```bash
git clone https://github.com/arcreane/android-project-pineapple.git
cd android-project-pineapple
```

2. Set up the git hooks:
```bash
./scripts/setup-hooks.sh
```

3. Open the project in Android Studio:
- Launch Android Studio
- Select "Open an existing project"
- Navigate to the cloned repository and click "Open"

4. Sync the project with Gradle files:
- Android Studio should automatically sync
- If not, select "File > Sync Project with Gradle Files"

5. Run the app:
- Connect an Android device or use an emulator
- Click the "Run" button (green triangle) in Android Studio

### Troubleshooting

- If you encounter Gradle sync issues, ensure you have the correct JDK version
- For build errors, check the "Build" tab in Android Studio for specific error messages
- If GitHub Actions CI builds fail but local builds succeed, check Java version compatibility

## Contributing

### First-Time Setup

1. Fork the repository on GitHub:
- Visit the repository page on GitHub
- Click the "Fork" button in the top-right corner
- Select your account as the destination

2. Clone your forked repository:
```bash
git clone https://github.com/YOUR_USERNAME/android-project-pineapple.git
cd android-project-pineapple
```

3. Add the original repository as upstream:
```bash
git remote add upstream https://github.com/arcreane/android-project-pineapple.git
```

### Making Contributions

1. Sync your local develop branch:
```bash
git checkout develop
git pull upstream develop
git push origin develop
```

2. Create a new feature branch:
```bash
git checkout -b feature/your-feature-name develop
```
Branch naming convention:
- `feature/*` for new features
- `bugfix/*` for bug fixes
- `docs/*` for documentation changes
- `hotfix/*` for urgent production fixes

3. Make your changes:
- Write clear, concise commit messages following our convention:
```bash
git commit -m "type(scope): description"
```
- Types: feat, fix, docs, style, refactor, test, chore
- Example: `git commit -m "feat(login): add biometric authentication"`

4. Push your changes:
```bash
git push -u origin feature/your-feature-name
```

5. Create a Pull Request:
- Go to the original repository on GitHub
- Click "Pull Requests" > "New Pull Request"
- Select `develop` as the base branch
- Write a clear PR description explaining your changes
- Link any related issues

6. Address review feedback:
- Make requested changes in your feature branch
- Commit and push updates
- The PR will update automatically

7. After PR is merged:
```bash
git checkout develop
git pull upstream develop
git push origin develop
git branch -d feature/your-feature-name
```

### Best Practices

- Keep PRs focused and reasonably sized
- Update your feature branch regularly with develop
- Write meaningful commit messages
- Add tests for new features
- Update documentation as needed
- Ensure CI checks pass before requesting review

## UML Diagram
![UML Diagram](UML.svg)
4 changes: 3 additions & 1 deletion app/.gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
/build
/build
.gradle/file-system.probe
.DS_Store
Loading