Skip to content

Releases: bounswe/bounswe2024group1

0.9.0

16 Dec 18:59
5bb654b
Compare
Choose a tag to compare

Group 1 CMPE 451 2024 Fall Final Release

Final Release

Deployment

We use DigitalOcean's App Platform with the DigitalOcean Container Registry. We have a single registry that all images are pulled from. The app platform will automatically deploy the latest image from the registry when a push happens.

The deployment process is very simple. When following the sets, if two sets of commands are given, execute only the commands for the environment you're deploying to:

Prerequisites

Make sure your DigitalOcean CLI has been set up and you have logged in (doctl auth init).

Authorize with the registry (only need to do once):

doctl registry login

Deploying the Application

Important

Note that you need to use docker compose and NOT docker-compose. Dashed version is the older version that uses Python and may have conflicts with your local Python environment. We also don't provide version which may cause an error with the old Compose V1. For more details, please check the Docker documentation.

When you're going to deploy only the application (no changes to infrastructre), you can follow the steps below:

  1. Build images using the docker compose setup.
docker compose build
  1. Tag images for the registry.
# for prod
docker tag bounswe2024group1-451-web:latest registry.digitalocean.com/programming-languages-2/web:latest
docker tag bounswe2024group1-451-backend:latest registry.digitalocean.com/programming-languages-2/backend:latest

# for staging
docker tag bounswe2024group1-451-web:latest registry.digitalocean.com/programming-languages-2/web:staging
docker tag bounswe2024group1-451-backend:latest registry.digitalocean.com/programming-languages-2/backend:staging
  1. Push images to the registry.
# for prod
docker push registry.digitalocean.com/programming-languages-2/web:latest
docker push registry.digitalocean.com/programming-languages-2/backend:latest

# for staging
docker push registry.digitalocean.com/programming-languages-2/web:staging
docker push registry.digitalocean.com/programming-languages-2/backend:staging

This will trigger a deployment on the DigitalOcean backend.

  1. Make sure your deployment is successful by checking the logs.

Deploying the Infrastructure

GUI Changes

When you have made changes to the infrastructure, make sure you keep .do/app-{env}.yml up to date. If you've used the GUI, pull spec changes using doctl:

# for prod
doctl apps spec get <app-id> > .do/app-prod.yml

# for staging
doctl apps spec get <app-id> > .do/app-staging.yml

To get <app-id> you can use doctl apps list and find the app id for the environment you're deploying to.

App Spec Changes

When you've changed the app spec, you can use doctl apps update to update the app. Make sure you've updated the spec file before running the command.

# for prod
doctl apps update --spec .do/app-prod.yml

# for staging
doctl apps update --spec .do/app-staging.yml

It is paramount that staging and prod are kept in sync. If you've made changes to the staging environment, make sure to update the prod environment as well.

What's Changed

Full Changelog: https://gi...

Read more

0.2.0-alpha

25 Nov 18:59
3b0ae5f
Compare
Choose a tag to compare
0.2.0-alpha Pre-release
Pre-release

0.2.0-alpha Release

Description

In this release, we've focused on nailing down domain-specific features and basic functionality of our platform.

Please check the README.md for instructions on how to deploy and run the project.

Covered requirements

Authentication & Users

  • 1.1.1: Registration functionality enhanced
  • 1.1.4: Sign-in functionality improved
  • 1.2.4.1: Follow/unfollow users implemented
  • 1.3.4: Profile search functionality added

Questions & Answers

  • 1.6.1: Question creation with title, description, difficulty level
  • 1.6.2: Question deletion implemented
  • 1.6.3.1: Question upvoting/downvoting functionality
  • 1.6.3.3: Answer creation with formatted text
  • 1.6.4: Answer upvoting/downvoting system
  • 1.6.6: Code execution service for supported languages

Tags & Search

  • 1.3.1-1.3.3: Search functionality for tags, questions, and users
  • 1.5.2-1.5.5: Tag types implemented (Programming Language, Software Library, Computer Science Term)
  • 1.5.6: Tag creation functionality
  • 1.5.8: Follow/unfollow tags feature

Feed & Content Management

  • 1.4.1-1.4.4: Feed implementation with filtering
  • 1.4.4.3: Bookmark questions feature
  • 1.6.3: Question updates and modifications

System Requirements

  • 2.1.1: Wikidata API integration for tag data
  • 2.1.2: Tag photo retrieval from Wikimedia
  • 2.5.2-2.5.4: Input validation for tags, questions, and answers

What's Changed

New Contributors

Full Changelog: customer-milestone-1...customer-milestone-2

0.1.0-alpha

22 Oct 07:09
a6a0b1a
Compare
Choose a tag to compare
0.1.0-alpha Pre-release
Pre-release

v0.1.0-alpha Pre-Release

These are the pre-release notes for the Customer Milestone 1 pre-release.

Covered requirements

Production URL

https://programming-languages-forum-ahwzj.ondigitalocean.app/

Merged pull requests

New Contributors

Full Changelog: Group1-Practice-App-Release-v0.2...customer-milestone-1

Final Customer Release v0.2

17 May 18:55
Compare
Choose a tag to compare

Production: https://semantic-cuisine-wh4f2.ondigitalocean.app/
Staging: https://semantic-cuisine-staging-t3m52.ondigitalocean.app/

Android application is attached

What's Changed

Read more

MVP Release v0.1