Skip to content

tamurashingo/reddit1.0

 
 

Repository files navigation

Reddit 1.0

This version is an easier version to develop using docker.

screenshot

Quickstart

create docker network and base image.

make setup

startup swank server and db, sendmail, etc...

make dev.up

connect swank by using emacs

(slime-connect "localhost" 4005)

load reddit

(ql:quickload :reddit)

migration (require once)

;; connect to database
(reddit.config:set-docker-config)
(reddit.main::connect-database)

;; load migration code
(ql:quickload :reddit-db)

;; migration
(reddit.db.migration:up)

;; disconnect database
(reddit.main::disconnect-database)

start up reddit application

(reddit:startup-reddit)

open http://localhost:8080/

for shutting down

(reddit:shutdown-reddit)

shutting down develop server

make dev.down

for test

startup test server

make test.up

run tests

make test.run

shutdown test server

make tet.down

hint

configuration

Variables such as database user name can be overridden by environment variables.

environment type name value environment vriable
docker database server db REDDIT_DATABASE_SERVER
port 5432 REDDIT_DATABASE_PORT
database reddit REDDIT_DATABASE_DATABASE
username pgsql REDDIT_DATABASE_USERNAME
password pgcwip42: REDDIT_DATABASE_PASSWORD
memcached server memcached REDDIT_MEMCACHED_SERVER
port 11211 REDDIT_MEMCACHED_PORT
mail server mail REDDIT_MAIL_SERVER
port 25 REDDIT_MAIL_PORT
username username REDDIT_MAIL_USERNAME
password password REDDIT_MAIL_PASSWORD
logger logger-name stdout
development database server 127.0.0.1 REDDIT_DATABASE_SERVER
port 5432 REDDIT_DATABASE_PORT
database reddit REDDIT_DATABASE_DATABASE
username pgsql REDDIT_DATABASE_USERNAME
password pgcwip42: REDDIT_DATABASE_PASSWORD
memcached server 127.0.0.1 REDDIT_MEMCACHED_SERVER
port 11211 REDDIT_MEMCACHED_PORT
mail server 127.0.0.1 REDDIT_MAIL_SERVER
port 25 REDDIT_MAIL_PORT
username username REDDIT_MAIL_USERNAME
password password REDDIT_MAIL_PASSWORD
logger logger-name stdout
test database server db REDDIT_DATABASE_SERVER
port 5432 REDDIT_DATABASE_PORT
database reddit_test REDDIT_DATABASE_DATABASE
username pgsql REDDIT_DATABASE_USERNAME
password pgcwip42: REDDIT_DATABASE_PASSWORD
memcached server memcached REDDIT_MEMCACHED_SERVER
port 11211 REDDIT_MEMCACHED_PORT
mail server mail REDDIT_MAIL_SERVER
port 25 REDDIT_MAIL_PORT
username username REDDIT_MAIL_USERNAME
password password REDDIT_MAIL_PASSWORD
logger logger-name stdout

it's defined on src/config.lisp

routing

it's defined on src/main.lisp at initialize-dispatch-table.

mail server

To read email, open 'http://localhost:8025' .

  • username: username
  • password: password

To regenerate password, run this

docker-compse -f script/docker/sendmail.dev.yml run mailserver bcrypt newpassword

and read it.

https://github.com/mailhog/MailHog/blob/master/docs/Auth.md

for Production ...?

(help...)

setup movie

setting up

make setup

startup reddit server

startup reddit server

...


  • original Copyright 2018 Reddit, Inc.
  • refactored Copyright 2018-2025 tamura shingo

About

Refactored old reddit source code

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • Common Lisp 97.7%
  • Other 2.3%