Skip to content

Hedgehog333/EmailSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EmailSystem

Realization MVC pattern with PHP

TODO

  • Fix route.php .../index.php error! and get requests error!\
  • Отфильтровать данные по дате (Рома)
  • Пагинация (Тема Лепетюха)
  • Checkbox(прочитанные/непрочитанные, удалить, переместить в спам) (Никита)
  • Внедрение отображение файлов, загрузка (Никита)
  • Открыть сообщение (Еж)
  • Скролл с закреплением шапки (Рома)
  • Выбор сообщений для конкретного пользователя(Еж)
  • Отображение загрузки новых писем как в Gmail() ?
  • Проверить наличие новых писем (Рома)
  • Подсвечивать новые письма (Рома)
  • Ответить (Тема Лепетюха)
  • Переслать (Тема Лепетюха)
  • Написать письмо (Тема Лепетюха)
  • Поиск (Никита)
  • Registration
  • Authorization
  • Authentication
  • Password recovery and table OneTimeAuth
  • Attachments (Upload and download files)
  • Multiple File Upload
  • WYSIWYG
  • Design
  • Filters from database queries
  • CRUD classes
  • CRUD for User

Tech

  • TinyMCE - is a platform-independent, browser-based WYSIWYG editor control, written in JavaScript and released as open-source software under the LGPL by Ephox.

Databese MySql:

Table Messages:

create table Messages(
	ID int not null auto_increment,
	CreationDate datetime,
	Title varchar(255),
	Body varchar(255),
	Primary key(ID)
);

Table Users:

create table Users(
	ID int not null auto_increment,
	Name varchar(255),
	SurName varchar(255),
	LastName varchar(255),
	Email varchar(40) unique,
	Password varchar(255),
	activated bit not null default b'0',
	Primary key(ID)
);

Table Types:

create table Types(
	ID int not null auto_increment,
	Name varchar(255),
	Primary key(ID)
);

Table Attachment:

create table Attachment( 
	ID int not null auto_increment, 
	MessageID int, 
	Path varchar(255), 
	Primary key(ID), 
	CONSTRAINT fk_AttMessage FOREIGN KEY(MessageID)
	REFERENCES Messages(ID)
);

Table FromTo:

create table FromTo(
	ID int not null auto_increment,
	MessageID int not null,
	UserFrom int not null,
	UserTo int not null,
	ExpiredDate datetime not null,
	TypeID int not null,
	IsRead boolean not null,
	Primary key(ID),    
	CONSTRAINT fk_FT_Message FOREIGN KEY(MessageID)
	REFERENCES Messages(ID),
	CONSTRAINT fk_FT_Users_From FOREIGN KEY(UserFrom)
	REFERENCES Users(ID),
	CONSTRAINT fk_FT_Users_To FOREIGN KEY(UserTo)
	REFERENCES Users(ID),
	CONSTRAINT fk_FT_Type FOREIGN KEY(TypeID)
	REFERENCES Types(ID)
);

Table OneTimeAuth:

CREATE TABLE OneTimeAuth(
	Token char(32) not null,
	UserID int not null,
	Expire datetime default null,
	PRIMARY KEY (Token),
	CONSTRAINT fk_FT_User FOREIGN KEY(UserID)
	REFERENCES Users(ID)
);

About

php mvc

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published