1 of 38

Open Source Software Team

Sep 12 4-5 PM, CS 300

Launch into the vast expanse of collaborative development, exploring new frontiers and innovating together!

OSS Team Kickoff

2 of 38

Who Are We?

3 of 38

tomasohCHOM/README.md

export default class TomasOh {

constructor(

public pronouns = "he/him/his",

public year = "3rd/Junior",

public programmingInterests = [

"Web Dev", "CLI",

"Vim/Neovim",

],

public hobbies = [

"Rock climbing", "Soccer",

"Smash Bros",

],

) {}

}

Tomas Oh

tomasohCHOM

OSS Team Lead

4 of 38

26samaahmed/README.md

Portfolio: samahmed.info

Sama Ahmed

26samaahmed

OSS Webmaster/Co-Team Lead + Design Officer

class SamaAhmed {

var age: Int = 19

var pronouns: String = "she/her"

var year: String = "Junior"

var hobbies: [String] = [

"Designing on Figma",

"Listening to music",

"Watching Kdramas"

]

var interests: [String] = [

"Web Dev",

"UI/UX Design"

]

}

5 of 38

JeremiahHerring/README.md

Jeremiah Herring

JeremiahHerring

OSS Officer + Algo Officer

class JeremiahHerring:

def __init__(self):

self.year = "Senior"

self.hobbies = ["Pickleball", "Gaming", "Gym"]

self.programmingLanguages = ["Python", "JavaScript"]

self.interests = ["big data", "machine learning", "blockchain", "AI"]

6 of 38

EvanCPSC/README.md

Github: EvanCPSC

Evan Jimenez

EvanCPSC

OSS Officer

import java.util.Evanj;

public static void main(String[] args) {

Evanj evanj = new Evanj(Math.random());

evanj.year = 3;

evanj.age = 18;

evanj.interests = {"Web Dev",

"Bugs (not code)", "OSS"};

evanj.hobbies = {"Making music",

"Learning Coding Langs"};

System.out.println(evanj.toString() +

" \uD83E\uDD6A");

}

7 of 38

JOwen-ster/README.md

My Github: github

Owen Sterling

JOwen-Ster

OSS Officer

from OSS import Board

class Owen(Board):

def __init__(self, nickname='Owen'):

super().__init__(name=nickname)

self.pronouns: str = 'he/him/his'

self.years: str = '3rd/Junior'

self.programming_interests: list[str] = [

'Python', 'C++', 'VSC', 'Backend'

]

self.hobbies: list[str] = [

'Programming', 'Guitar', 'Gaming'

]

8 of 38

tylermlui/README.md

Portfolio: github

Tyler Lui

tylermlui

OSS Officer

class Tyler {

var year: Int

var age: Int

let pronouns: String

var hobbies: [String]

var programmingInterests: [String]

init() {

self.year = 4

self.age = 21

self.pronouns = "he/him/his"

self.hobbies = ["Gym", "Snowboarding"]

self.programmingInterest = ["All JS frameworks", "Web scraping", "Backend"]

}

}

9 of 38

AlexThePear/README.md

Portfolio: github

Alexander Peras

AlexThePear

OSS Officer

struct AlexanderPeras {

// Public members

string display_name = "AlexthePear";

vector<string> programming_interests =

{"C++", "Backend", "Web dev"};

vector<string> hobbies =

{"Rock Climbing", "Anime", "Gaming"};

vector<string> aliases = {"Codekage"};

};

10 of 38

Filter

Who are we?

Tomas Oh

Sama Ahmed

Jeremiah Herring

Evan Jimenez

Owen Sterling

Tyler Lui

Alexander Peras

Name

Role

Picture

Team Lead

Webmaster

Officer

Officer

Officer

Officer

Officer

11 of 38

And YOU

Our team wouldn’t be the same without each of you. Your contributions and dedication are what keep us thriving, and we’re deeply grateful for every member who helps bring our team to life.

12 of 38

Filter

Our contributors

Adam Secrest, Adrian Bautista, Adrian Vazquez, Akanksh Jagadish, Akshay Chaudhari, Alexander Martinez, Alexander Peras, Alexis Nemsingh, Andrew Gonzalez, Angel Cervantes, Arjun Subedi, Aya Aldadah, Belal Skaik, Bradley Botros, Brian Milian, Bryan De Los Santos, Bryan Pham, Chandar Rathi, Daniel Lopez, Demi Chen, Devarsh Jani, Dustin Chavez, Elzie, Eric Ly, Evan Miller, Gustavo Necochea, Hao Thai, Jacob Corletto, Jacob Nguyen, Jeet Hirakani, Jim Alvarez, John Carlo Manuel, Justin Lee, Katie Jao, KJ Jennings, Kyle Ho, Manasi Patil, Mario Pinzon, Natalie Segura, Nestor Reategui, Ngoc Tran, Nithin Rajesh, Patrick Hung, Peter Chau, Pranav Sheth, Rohit Bhaskar Uday, Saloni Joshi, Sama Ahmed, Santosh Burada, Sebastien Minassian, Sepehr Kermanshah, Siddharth Vasu, Syon, Vamsi Mannava, Vicky Wei, Victoria Uriostegui, Yves Velasquez, Patrick Smith, Ashley Chan, Daniel Lopez, Mark Garcia, Matt Lau, Nate Gries, Joe Lee, Jahn Jamison L Tibayan, Duy Le, Nicklaus Marietta, Rian Corcino, and everyone else!

13 of 38

What IS Open Source?��Open source development involves freely sharing software's source code, enabling collaboration and open access for modification and distribution.

Open source is our way of creating a community of like-minded, skilled individuals, where we focus on collaboration and accessibility for creating long-term projects for the club and building the relationships between one another, making it an unique and extraordinary experience.

Filter

What is Open Source Software?

14 of 38

How can you contribute to our Open Source projects? (pt. 1)

Each of the projects that we will be talking about are led by at least 1 officer from board, meaning they will guide you through the process of how to learn the required languages/frameworks + walk you through the source code if it’s an ongoing project! Feel free to keep suggesting new projects that can benefit ACM!

Filter

How can you contribute our projects?

15 of 38

How can you contribute to our Open Source projects? (pt. 2)

Multiple steps (though it may vary):

  • Design documents (goals, decisions, architecture)
  • Research technologies and implementation details
  • Project sync meetings and work sessions
  • Code, code, code!
  • Sharing + collaboration!!

Filter

How can you contribute our projects?

16 of 38

Filter

Open Source Software Discord category

#🧠project-ideas

#💖announcements

#💘getting-started

#💗just-chatting

#💕project-threads

#🌐org-feed

#💞website-feed

#😻website-threads

#💝website-archive

suggest ACM related project ideas (NOT PERSONAL PROJECTS)

get important OSS related announcements

resources on how to start on acmcsuf.com

our #general chat – chat about anything in here

conversations of all current OSS projects

automated feed of oss.acmcsuf.com org events (more info)

automated feed of acmcsuf.com/code events

conversations of all current acmcsuf.com issues (Gitcord-automated)

automated archived feed of thread conversations

17 of 38

Filter

What will you learn?

SvelteKit

GitHub

Netlify

HTML and CSS

TypeScript and JavaScript

Go

Python

Deno and Node.js

18 of 38

Filter

Projects

19 of 38

Filter

Contributing to a project?

Reminder that EVERYONE is more than welcome to contribute to our projects, whether you just started your coding journey or have been coding for 5 years. Since we have a lot of projects, each have a variety of technologies used and skill level. The Open Source Software team encourages having a collaborative environment where we all help each other grow! So don’t worry if you think ‘you don’t know enough’. Take this as an opportunity to learn and know more.

20 of 38

20

acmcsuf.com (work in progress)

  • Our oldest and largest project by far! (as of September 2023)
  • Has all information about our club – teams, board, blogs, and more!
  • Fullstack SvelteKit project
  • Svelte 💖 TypeScript
  • 60+ Contributors
  • Maintained by the Webmaster (aka Sama)

Filter

Frontend Projects

21 of 38

21

Form (work in progress)

  • Student-made Google Forms for ACM
  • Uses the acmRegister bot to authenticate using Discord information
  • Written in SvelteKit 💖 Typescript

Filter

Frontend Projects

22 of 38

22

dash.acmcsuf.com

  • Discord-authenticated UI platform that will facilitate board member tasks.

Filter

Frontend Projects

23 of 38

Filter

Frontend Projects

Gallery

  • A website that displays all images for the club, including pictures taken by marketing team weekly
  • Include 100 days of design challenge showcase
  • Will be written in Svelte 💖

UI Mockup

24 of 38

Filter

Frontend Projects

Fullyhacks (work in progress)

  • A website for the CSUF’s biggest hackathon, hosted by ACM.
  • Attracted 400+ applicants and 10 sponsors last Spring.
  • Must apply to Web Team to be able to contribute. (applications open soon 😉)
  • Written with Next.js, React, TailwindCSS, DaisyUI, Prisma, MongoDB 💖

25 of 38

Filter

Backend & Infrastructure Projects

api.acmcsuf.com (work in progress)

  • Backend API for managing events, announcements, forms, and other services.
  • Communicates with our main website and various third parties.
  • Written in Go💖

26 of 38

Fall 2023 Stats:

30+ GitHub stars

60+ Contributors

500+ Pull Requests

1000+ Commits

Filter

Backend & Infrastructure Projects

acmcsufoss-stats

  • Command line tool
  • Collects statistics from the acmcsufoss Github organization
  • Number of contributors, pull requests, commits, etc.
  • Written in Python💖

27 of 38

Filter

Backend & Infrastructure Projects

acm-server (work in progress)

  • Infrastructure project — manages deployment files for acmCSUF
  • Used by the acmRegister bot
  • Implemented in Terraform + Nix
  • Ongoing database provider

migration

Physical server setup in CS 306

28 of 38

Filter

Discord Application Projects

acmOpportunities (completed)

  • Discord Bot that sends daily messages about Internship and Job openings in #⭐opportunities
  • Written in Python💖
  • Maintained by Boushra

29 of 38

Filter

Discord Application Projects

Trigger Bot (completed)

  • Discord Bot where you can get notified whenever a specific word is mentioned
  • Use a slash command to add new word
  • Written in Java 💖
  • Maintained by Joel

Ex: notified whenever the word ‘boba’ is mentioned

30 of 38

Filter

Discord Application Projects

lc-dailies (completed)

  • Sends LeetCode daily challenges notifications in #📚algo-chat
  • Features: user registration (slash command), weekly leaderboard

aoc-dailies (completed)

  • Sends Advent Of Code notifications
  • Both written in Deno & TypeScript

31 of 38

Filter

Discord Application Projects

CryingCounter (completed)

  • Discord Bot that tracks how many times the user says “I’m crying”
  • Utilizes a Dynamic Programming algorithm to evaluate similarity scores among phrases
  • Written in Python 💖
  • Maintained by Vamsi and Justin

DP

32 of 38

Filter

Active Projects

  • Gallery
  • Form
  • acmcsufoss-stats

ACTIVE PROJECTS

These are the projects we are planning on working on:

33 of 38

Filter

Our future plans

What PLANS do we have ahead of us?

  • Workshops:
    • On the projects we have built throughout the years
    • On the technologies we want to share with you all
    • Guest speakers
  • Work on projects:
    • Collaborate with each other and make progress on our most important projects yet
    • Learn new tech stack to help improve your knowledge to work on your own projects
  • Social hangouts:
    • Dinners, movie nights, Advent Of Code 2024?

34 of 38

Filter

Resources

35 of 38

Filter

OSS Team Resources

36 of 38

NEXT UP:

JOIN A PROJECT

Filter

It’s that time

37 of 38

Filter

It’s that time

acmcsuf.com (SvelteKit)

Ju Yeong Kim, Nicklaus Marieta, Avyakt Rout, Kenny Garcia , Peter Chau, Ryan Hellwege, Eric Lopez Morales, Quentin Rives, Ola, Lorit, Eddie Cortes, Bryan Pham, , Kyle Ho, Dianella Sy, Lizbeth A, Meridian Bacareza

api.acmcsuf.com

(Go)

Noah Kim, Peter Chau, Ryan Hellwege, Eric Lopez Morales, Quentin Rivest, Eddie Cortes, Kyle Hom, Jacob Nesheiwat, Harrison Thayer, Tuyen Nguyen, Anderson Pham

Acm-server (Terraform + Nix)

Daniel Currey

Form (SvelteKit)

Patrick Smith, Daniel Currey

Gallery (SvelteKit)

Ju Yeong Kim, Nicklaus Marieta, Adrian Vazquez, Bryan Pham, Ola, Lori, Lizbeth A, Ryan Avancena

Acmcsufosstats (Python)

Avyakt Rout, Timothy Ou, Bryan Pham, Quentin Rivest, Noah Kim, Lizbeth A

38 of 38

Filter

It’s that time

UP NEXT WEEK

1ST CONTRIBUTIONS