Giter VIP home page Giter VIP logo

Hello!

My name is Benjamin Johnson. I'm a sophomore at UC San Diego, majoring in Computer Science.

I'm interested in web and mobile development, game development, AI, embedded systems, and computer vision.

I also enjoy hiking, running, chess, board games, puzzles, and video games.

Contact

My Personal Projects

I created this budgeting tool that allows users to enter and track budgets and expenses. Users can budget their planned expenses by category, and can do so by week, month, or year. They can use raw dollar amounts or percentages of income. Users can enter their actual expenses one transaction at a time, then compare their actual vs. planned total spending by category. There are bar and pie charts to easily compare this information. Expense lists and comparison data can be exported as CSV files.

I used React, Next.js, MaterialUI, and TypeScript for the front end, and Django, Postgres, and SwaggerUI for the back end. I used the Django Rest Framework to create Rest APIs in Django, and the DRF Spectacular package to document the API and generate an API spec that can be served as a SwaggerUI page. I also used this API spec to generate a client library for my front end, reducing the need for boilerplate, repetitive API-fetching code.

I created this website for playing single-player and multi-player games. Users can play Tic-Tac-Toe, Dots and Boxes, and Tetris. Users can send each other friend requests and play against their friends, or play against a random opponent.

I used Express and Node for the server, React for the front end, a MongoDB database for users, friends, and games, Konva for rendering games, and Socket.IO for real-time client-server communication. I also used Passport and Bcrypt for session authentication.

I built this website as a way for students to visualize, and therefore better understand, various CS-related algorithms. So far, I have visualizations for arrays and linked lists.

I used Next.js, React, and TypeScript, as well as D3 to display and animate shapes that represent the data structures (for example, bars of different heights for array elements).

I developed this website to be a platform for users to view and buy rugs, and for admins to post new rugs. Users can add rugs to their carts and then check out, just like a real e-commerce site but without actual payments. Users can also subscribe to receive emails when an admin posts a new rug.

I made a Django server, using Django REST Framework to create REST APIs to authenticate users and track rugs, orders, and carts. I used Django's ORM and default SQLite database. I wrote the front end using React and TypeScript.

I created a mobile app using Flutter for users to review and study by answering practice problems. The app tracks their progress, so they can see how many questions they're getting right and wrong.

I wrote an Express server, with a MongoDB database, to handle token authentication and supply problems, answers, and users' progress to the front end.

Benjamin Johnson's Projects

2048-game icon 2048-game

My version of 2048, created using JavaScript and React

algorithm-visualizations icon algorithm-visualizations

A website where users can visualize various algorithms and data structures. Stack is Next.js, React, TypeScript, and D3

freecodecamp icon freecodecamp

freeCodeCamp.org's open-source codebase and curriculum. Learn to code for free.

gamingwebsite icon gamingwebsite

Website where users can play single-player and multi-player games. Built with MongoDB, Express, React, Node.js, and TypeScript

matrix-animations icon matrix-animations

Python project to animate the linear transformation represented by a matrix. The parameters for the animation, including the matrix and how to display the vectors, are in MatrixAnimationsParameters.txt.

memory-game icon memory-game

A simple memory tiles game created with Python and Pygame

pap-inventory-processing icon pap-inventory-processing

Web app built for nonprofit organization Patriots and Paws to process & analyze veteran service requests

studying-app icon studying-app

A mobile app for users to study by answering practice problems. Stack is Flutter, MongoDB, Express, and Node.js

tic-tac-toe icon tic-tac-toe

Simple tic-tac-toe game made with Python and Pygame, can be played player vs player or player vs computer

tictactoesite icon tictactoesite

Website created to play Tic-tac-toe between 2 players, developed using MERN stack and Socket.IO

wordle-site icon wordle-site

Website where users can play Wordle. Created with React.js.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.