Coder Social home page Coder Social logo

cms-server's Introduction

Web development project

Summary

Zeal is a web development project that allow users to create fully database driven websites without having to use any back end code. This means that there needs to be an extensive and open API for the user to query.

A javascript library will be written to query the API and synchronise the users website with their 'backend' logic securely.

At the moment, this project is in its very early stages and is a mere proof of concept. I may take this project in a different direction as I see fit.

The project is written with the Symfony2 framework and has made extensive use of their FOS bundles to speed up dev

  • Note: all modules that are used on the site must be available externally via the API

TODO

General

  • Generic table interface and template
  • Sort table by columns
  • Generic pagination widget
  • Inline editable tables
  • Authentication system for table edits (generic interface?)
  • Remove github markdown css

Documentation

  • Get JBBCode markdown working
  • Breadcumb links
  • Child documentation links in a widget
  • BBCode for inline API responses

Javascript framework

  • Integrate a secure and tested OAUTH2 library
  • Create a session management service
  • Get the login
  • Registration system working

Small tasks

  • Seperate tables for external and internal users
  • Get basic API routes working with FOSRestBundle
  • Get API documentation working with nelmio bundle

Testing

  • Try out the built in symfony2 logging system

  • Try and ensure all controllers methods have minimal number of attached routes

cms-server's People

Contributors

aatina avatar roymiles avatar

Stargazers

 avatar

Watchers

 avatar

cms-server's Issues

Remove FOSUserBundle

  • Going for custom. Too much limitations with FOSUserBundle (Plus Id instead of id :P)
  • Using Site references in all other tables with -1 as the local site

User privileges system

  • Users will be privileged to perform certain Actions (foreign key)
  • When an action is requests, system will check if User has these privileges or is in an appropriate UserGroup that does

Brute force checks on login

  • Add methods to AuthenticationManager
  • Add another entity for LoginAttempts that store the Id of the user and the timestamp of the login request
  • If more than 3 login attempts made within 1 minutes, block the account for 10 minutes

Start on SearchManager

This will include all the methods required to rank results based on a query

  • XSS protection is important

Write basic user unit tests (login, registration etc)

Test the following actions:

  • Unauthenticated user attempting to access restricted page (and for authenticated user)
  • Login system with valid/invalid credentials
  • Registration system with valid/invalid details
  • Logout system
  • Reset password system

Don't spend too much time on it Cover the main requirements of the system.
... For example, a test suite to see if the login system works with a long username and a valid password with the CSRF token manipulated is too specific!

Separate table for external users

Why? Because would be difficult to completely customize the FOSUserbundle.
We don't want username and email field to be unique across all sites. Just across individual sites.
Logging in, registration is done with a different protocol for site users and external users.
etc..

Breadcumb links in documentation

  • Links to the parent documentation up until it reaches the root (documentation with no parent)
  • Root link (home) does not have a parent documentation page

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.