Git Product home page Git Product logo

acebook-clone's Introduction

Acebook

A Facebook clone, for a bootcamp challenge, which we developed in two weeks without much prior knowledge of the below technologies.

Stack

  • maven to build the project
  • webpack to bundle the javascript
  • thymeleaf to serve index.html
  • react to make requests to the api and render the component views
  • flyway to manage postgresql db migrations
  • junit to test
  • java to develop back-end
  • spring boot
  • intellij text editor for java

Card wall

Team's Trello Board

Database Schema

Flyway is being used to manage database migrations. All required SQL files are located in /resources/db/migration

Here's the database schema:

Features

  • Signup/Login/Logout
  • Password encryption
  • Unique Newsfeed for every user
  • Add/Remove posts
  • Add/Remove comments
  • Add/Remove friends (Friend Requests)
  • Add/Remove likes
  • Timestamped posts & comments

Learning Journey

At first, we discussed and agreed on our Minimum Viable Product(MVP) idea. We didn't have much prior knowledge about the required technologies, so our approach was to dedicate first week to learn as much as possible and develop an MVP in the second week. This approach proved to be successful as we managed to deliver the above features in a very short period of time.

Try it!

Want to see & try our app? Here's how:

  • Clone this repo using git clone
  • Install Maven brew install maven
  • From the command line create a dev database createdb acebook_springboot_development
    (if you're not using postgresql make sure you amend application.properties file to suit your database)
  • Build the app and start the server, using the Maven command mvn spring-boot:run
  • Visit localhost:8080

acebook-clone's People

Contributors

duncan-7 avatar paula-codes avatar zoecode26 avatar dearshrewdwit avatar edwardandress avatar keowashere avatar

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.