Coder Social home page Coder Social logo

spitter's Introduction

Spitter

Introduction

This project imitates the fundamental features of Twitter. It is based on 3 layer architecture. Presentation layer is carried out in Spring MVC, Tiles2, and JavaScript. Service and Persistence layers use core Spring functionality leveraged by Hibernate. The entire project is built in Maven and current connection settings use PostgreSQL database.

Of course this is not how real Twitter application works. Using traditional database for their purpose is completely unfeasible. Here is an interesting presentation about accessing big datasets in real-time: link

The project was inspired by "Spring in action" by C. Walls.

Project Features

The application enables to register a new account or sign in using existing one. Each registered user can navigate the application through the dashboard where he can post a new message (visible to all who follow him), search for other people, follow and unfollow other users. The user has full control over his own posts and can delete them at any time, as well as customize his own profile (including providing personal information and uploading avatar).

List of features (user):

  1. Register new account
  2. Remind password on email
  3. Customize the profile (personal details, upload/remove picture)
  4. Post message which would be visible to the user and people who follow him/her
  5. Delete his/her messages
  6. Search for other users and browse their profiles
  7. Follow/Unfollow other users (link in their profile)
  8. Browse list of followers/following

List of features (admin):

  1. Everything and standard user
  2. Access to admin panel (restricted for other users)
  3. Browse list of all users, or by specified query
  4. Delete particular user

Quick Start Guide

Before you deploy this project on the server (if you're using Eclipse make sure to "Maven>Update project" beforehand)

tomcat:run

make sure to provide your own details regarding database connection and email used as a reminder (my implementation facilitates GMail).

In spring-servlet.xml, lines 32 and 33 -- make sure to provide username and password to your email account

<property name="username" value="spitter.reminder" /> <property name="password" value="yourPass" />

In spring-servlet.xml, line 74 provide the path to your database (you can name it whatever you want):

<property name="url" value="jdbc:postgresql://localhost:5432/spitter_db"></property>

and in line 76 provide your password:

<property name="password" value="yourPass" />

Project forces using HTTPS thus adjust your server (in Tomcat normally it's 8443 port) or in spring-security.xml in lines 10, 11, and 12 get rid of attribute

requires-channel="https"

spitter's People

Contributors

karolgornicki avatar

Watchers

Gökhan CEYLAN avatar James Cloos 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.