All Projects → Apophis-AppJam → ApophisServer

Apophis-AppJam / ApophisServer

Licence: other
☄️Apophis Server ☄️

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to ApophisServer

hapi-sequelizejs
A hapi.js plugin to connect with Sequelize ORM
Stars: ✭ 56 (+229.41%)
Mutual labels:  sequelize-orm
youphonic
an online musical machine interface for building and sharing soundscapes and musical compositions
Stars: ✭ 28 (+64.71%)
Mutual labels:  sequelize-orm
sequelize-slugify
Sequelize Slugify is a plugin for the Sequelize ORM that automatically creates and updates unique, URL safe slugs for your database models.
Stars: ✭ 49 (+188.24%)
Mutual labels:  sequelize-orm
sequelize-connect
A simple connection wrapper for the sequelize ORM, making it easier to configure and build models & connections.
Stars: ✭ 37 (+117.65%)
Mutual labels:  sequelize-orm
2019-21
🙋‍♀️ 🙋‍♂️ 바글바글(Vaagle): 실시간 질의응답 및 투표 공유 서비스
Stars: ✭ 38 (+123.53%)
Mutual labels:  sequelize-orm
react-with-nodejs-and-sequelize
React-Redux application using NodeJS relational database API with Sequelize ORM. Two level CRUD with a main data table (bands) and other that is relationed with it (albums).
Stars: ✭ 30 (+76.47%)
Mutual labels:  sequelize-orm
expresso
expresso ☕ ( expressjs, Sequelize, TypeScript )
Stars: ✭ 111 (+552.94%)
Mutual labels:  sequelize-orm
serverless-node-sequelize-rds-rest-api
Serverless rest api application with Node.js to perform simple CRUD operation using MYSQL database hosted on AWS RDS with Sequelize ORM
Stars: ✭ 43 (+152.94%)
Mutual labels:  sequelize-orm
seedpress-cms
A headless CMS built in Express for PostgresQL using Sequelize. Generally follows the Wordpress post and term schema.
Stars: ✭ 71 (+317.65%)
Mutual labels:  sequelize-orm
nest-blog-api
Blog Web API with NestJs, Postgres, and Sequelize ORM
Stars: ✭ 69 (+305.88%)
Mutual labels:  sequelize-orm
Nodejs-Tutorials
Nodejs Tutorial
Stars: ✭ 38 (+123.53%)
Mutual labels:  sequelize-orm
HotelManagementSystem
Hotel Management System created with Restify and Angular 9
Stars: ✭ 23 (+35.29%)
Mutual labels:  sequelize-orm
secondhand-deal
A campus secondhand trading system based on the vue.js + stylus + koa2 + sequelize ORM + mysql, and typescript is still learning to migrate.🍌
Stars: ✭ 21 (+23.53%)
Mutual labels:  sequelize-orm

☄️ Apophis Server


로고

npm_bedge node_bedge


  • SOPT 27th Virtual Hackathon : APPJAM - Team Apophis

  • 프로젝트 기간: 2020.12.27 ~ 2021.01.15


☄️ 미리 맞이해보는 당신의 이른 죽음

"죽음이라는 새로운 시각으로 과거의 삶을 바라보고, 회고하며 그를 통해 현재와 미래의 삶을 재구성한다."


"지구 멸망 발표가 난 어느 말도 안되는 날, 아무 번호나 눌러 전화를 하게 된 아포니머스. 그리고 그걸 받은 당신. 다짜고짜 멸망까지의 7일을 함께 보내달라고 하더니, 심지어 이 7일 동안 짐을 싸서 당신에게로 가는 여행길에 오른다고 하는데."


KakaoTalk_Photo_2021-01-05-21-48-55


🗂 API 명세서

📝 API 명세서/진척도 WIKI

- Apophis Notion

- Postman Runner 서버 자동 테스트 환경 구축 결과


🗝 Main Function

🗣 Interaction

  • 아포니머스와의 채팅
  • 익명의 누군가와 주고받는 편지

🎞 Record

  • 사용자 자신에 대한 회고 기록
  • 자신의 죽음을 가정하에 작성해보는 버킷 리스트


🔗 Architecture

아키텍쳐



📖 Dependencies Module

image


✏️ Code Convention

  • git branch
main
   |
   |--- dev
   |--- sehwa_dev
   |--- suzie_dev
   |--- dev_suzie2
  • git commit rules
[Add] 기능추가
[Delete] 삭제
[Update] 기능 수정
[Fix] 버그 수정
[Docs] 문서 정리
[Chore] 잡일


📋 ERD

image



⚙️ Models

db.User = require('./user')(sequelize, Sequelize);
db.Chat = require('./chat')(sequelize, Sequelize);
db.ChoiceWords = require('./choiceWords')(sequelize, Sequelize);
db.Reply = require('./reply')(sequelize, Sequelize);
db.ReplyWords = require('./replyWords.js')(sequelize, Sequelize);
db.ChatDetails = require('./chatDetails.js')(sequelize, Sequelize);
db.Letter = require('./letter.js')(sequelize, Sequelize);
db.LetterReceive = require('./letterReceive.js')(sequelize, Sequelize);
db.BucketList = require('./bucketList.js')(sequelize, Sequelize);

/* 1: N User:Reply */
db.User.hasMany(db.Reply,{onDelete:'cascade',foreignKey: 'UserIdx',sourceKey:'UserIdx'}) 
db.Reply.belongsTo(db.User,{foreignKey: 'UserIdx',targetKey:'UserIdx'});

/* 1: N ChatDetails:Chat */
db.ChatDetails.hasMany(db.Chat,{onDelete:'cascade',foreignKey: 'ChatDetailsIdx',sourceKey:'ChatDetailsIdx'})
db.Chat.belongsTo(db.ChatDetails,{foreignKey: 'ChatDetailsIdx',targetKey:'ChatDetailsIdx'})

/* 1: N ChatDetails:ChoiceWords */
db.ChatDetails.hasMany(db.ChoiceWords,{onDelete:'cascade',foreignKey: 'ChatDetailsIdx',sourceKey:'ChatDetailsIdx'})
db.ChoiceWords.belongsTo(db.ChatDetails,{foreignKey: 'ChatDetailsIdx',targetKey:'ChatDetailsIdx'})

/* 1: N Reply:ReplyWords */
db.Reply.hasMany(db.ReplyWords,{onDelete:'cascade',foreignKey: 'ReplyIdx',sourceKey:'ReplyIdx'})
db.ReplyWords.belongsTo(db.Reply,{foreignKey: 'ReplyIdx',targetKey:'ReplyIdx'})

/* 1: N ChatDetails:Reply */
db.ChatDetails.hasMany(db.Reply,{onDelete:'cascade',foreignKey: 'ChatDetailsIdx',sourceKey:'ChatDetailsIdx'})
db.Reply.belongsTo(db.ChatDetails,{foreignKey: 'ChatDetailsIdx',targetKey:'ChatDetailsIdx'})

/* 1: 1 User:Letter */
db.User.hasOne(db.Letter,{onDelete:'cascade',foreignKey: 'UserIdx',sourceKey:'UserIdx'})
db.Letter.belongsTo(db.User,{foreignKey: 'UserIdx',targetKey:'UserIdx'})

/* 1: N Letter:LetterReceive */
db.Letter.hasMany(db.LetterReceive,{onDelete:'cascade',foreignKey: 'LetterIdx',sourceKey:'LetterIdx'})
db.LetterReceive.belongsTo(db.Letter,{foreignKey: 'LetterIdx',targetKey:'LetterIdx'})

/* 1: 1 User:LetterReceive */
db.User.hasOne(db.LetterReceive,{onDelete:'cascade',foreignKey: 'UserIdx',sourceKey:'UserIdx'})
db.LetterReceive.belongsTo(db.User,{foreignKey: 'UserIdx',targetKey:'UserIdx'})

/* 1: N User:BucketList */
db.User.hasMany(db.BucketList,{onDelete:'cascade',foreignKey: 'UserIdx',sourceKey:'UserIdx'})
db.BucketList.belongsTo(db.User,{foreignKey: 'UserIdx',targetKey:'UserIdx'})


👥 Apophis Server Team

류세화 이수진
Screen Shot 2021-01-06 at 1 33 07 PM Screen Shot 2021-01-14 at 11 25 48 PM
- rdb 설계
- 배포환경 구축
- 대화창 선택지 상세 조회
- 사용자 대답 입력
- 일차별 채팅 전체 조회
- 익명의 누군가와 주고받는 편지
- rdb 설계
- 배포환경 구축
- 아포니머스 채팅 조회
- 사용자 로그인/회원가입
- 사용자 대답 입력
- 버킷리스트 조회 및 입력
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].