Skip to content

kpelykh/sharepast.com

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction
============

SharePast was intented to be a social project allowing people to 
share information with friends about events occured some time ago. 

It was statred mostly as a technical curiosity to play with 
Spring, Grails, Sitemesh and a bunch of other open source projects. 

Currently this projects includes the following technologies:

0) Maven for build and dep management
1) Hierirchal configuration (based on property files)
2) Groovy based Logback configuration
3) Run-time discovery Spring Bootstrap Mechanism (Google Reflections)
4) Spring Security integration
5) Spring integration with Grails
6) Runtime Grails conviguration through Spring beans
7) Hibernate DAO layer (over C3P0)
8) AspectJ compile time class weaving
9) Automatic mock data setup for different environemnts (Liquibase)
10) Basic Grails application
11) Many more, which I probably forgot 

The project is fully working and ca be started up. Instructions on how to build and run bellow.
This project can be used as a reference point and a learning tutorial for misc aspects of Spring, 
Grails, Hibernate... I spend a lot of time debugging though all of those frameworks to make it all work, 
so hopefully it will help you to save some of your time.

If you have any questions regarding this project, feel free to email me at kpelykh@gmail.com (Konstantin Pelykh)

License (See LICENSE file for full license)
===========================================

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.


Hierarchy
=========

sharepast.com/

  sharepast-project/
    Contains project files, web ui, scripts for building   

  sp-db-changes/
    Contains liquibase scripts to populated database

  sp-dev-config/
    Contains maven and nexus configuration

  sp-parent-pom/
    Contains Maven parent POM file for the project
    
  geoip/
    Contains GeoIP database

    
Requirements
============


[Maven 3] http://maven.apache.org/download.cgi

These libraries are open source and may be freely obtained, but they are not
provided as a part of this distribution.

Helpful tips:
MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512m"

To build
========

1) Install sp-db-changes to local Maven repo:

cd sp-db-changes
mvn clean install

2) Install sp-parent-pom

cd sp-parent-pom
mvn clean install

3) Install geoip

cd geoip
mvn clean install

4) Build SharePast project

cd sharepast-project
mvn clean install



Configure options
=================

To skip tests use -DskipTests=true, eg. 

mvn clean install -DskipTests=true


Run
===

cd sharepast-project/sp-container
mvn -Pweb

Point your browser to http://localhost:9090