This project provides a website which user can search for ads matching with the keywords they input. We use fake data, generated by some code and also user-created ads. It support for basic CRUD operation but also, it requires some Machine Learning algorithms to match user attributes and ads attribute. Scheduled jobs will be run to fake some data and run algorithms to rerank current ads pool. It will also supports for business to register ads with a calculated price.
- Database: MongoDB (Cassandra as backup option)
- Server-Side:
- Programming language: Java 8 (We will use Java 8 new features: Stream and Lambda Expression)
- Web server: Tomcat 8.0
- Framework: Spring(Core, IOC), Spring MVC, Spring Data (Spring Security as pottential option)
- Server-side Template Engine: Thymeleaf 2 (Map update to Thymeleaf 3 depending on their progress)
- Build Tool: Maven
- Scheduling Job Solution: Quartz
- Main Dependencies: Lucene
- Front-end:
- Javascript Framework/Lib: React Js, Redux
- CSS Framework: Bootstrap
- Dependency Management: npm
- Yi Wang (yiak.wy@github.com): Algorithm developer
- Wanjun Fan (tianshubao1@github.com): Backend developer
- Tianshu Bao (sabrinafan@github.com): Frontend developer
- Shiyao Liu (shiyaoeating@github.com): Full-stack developer
- Xingbang Liu (url): Algorithm developer
- Preparation Weeks(Jul 18 - Jul 31)
- Integrate Spring framework and finish configuration
- Build boilerplate for ReactJs and Redux
- Use Spring Data to connect to local MongoDB
- First team meeting
- Determine main funtionatilies of the whole project and architecture
- All team members be able to access the initial page (done local environment configuration)
- Determine the basic models of core objects
- Distribute jobs for next week to team members
- Coding Week(Aug 1 - Aug 8)
- Authentication with Spring Security, React Route
- Fake Ads generator
- Search page mockup
- Ads register page mockup
- Search page implementation
- Dao, Service methods and tests